<commit_before>package org.carrot2.core;

import java.util.Map;

import org.carrot2.core.attribute.Init;
import org.carrot2.util.attribute.Input;
import org.carrot2.util.attribute.Output;
import org.simpleframework.xml.Attribute;

/**
 * Performs processing using {@link ProcessingComponent}s. Implementations must enforce
 * the life cycle described in {@link ProcessingComponent}.
 */
public interface Controller
{
    /**
     * Initializes this controller. This method must complete successfully before any
     * calls are made to the {@link #process(Map, Class...)} method.
     * 
     * @param attributes {@link Init}-time attributes for the component
     */
    public void init(Map<String, Object> attributes)
        throws ComponentInitializationException;

    /**
     * s Disposed of this controller. No calls to {@link #process(Map, Class...)} must be
     * made after invoking this method.
     */
    public void dispose();

    /**
     * Performs processing according to the life cycle specified in
     * {@link ProcessingComponent}.
     * 
     * @param attributes attributes to be used during processing. {@link Input} attributes
     *            will be transferred from this map to the corresponding fields.
     *            {@link Output} attributes will be collected and stored in this map, so
     *            the map must be modifiable. Keys of the map are computed based on the
     *            <code>key</code> parameter of the {@link Attribute} annotation.
     * @param processingComponentClasses classes of components to be involved in
     *            processing in the order they should be arranged in the pipeline.
     */
    public ProcessingResult process(Map<String, Object> attributes,
        Class<?>... processingComponentClasses) throws ProcessingException;
}
<commit_msg>Minor documentation corrections.<commit_after>package org.carrot2.core;

import java.util.Map;

import org.carrot2.core.attribute.Init;
import org.carrot2.util.attribute.Input;
import org.carrot2.util.attribute.Output;
import org.simpleframework.xml.Attribute;

/**
 * Performs processing using {@link ProcessingComponent}s. Implementations must enforce
 * the life cycle described in {@link ProcessingComponent}.
 */
public interface Controller
{
    /**
     * Initializes this controller. This method must complete successfully before any
     * calls are made to the {@link #process(Map, Class...)} method.
     * 
     * @param attributes {@link Init}-time attributes for components instantiated in
     *  {@link #process(Map, Class...)}. 
     */
    public void init(Map<String, Object> attributes)
        throws ComponentInitializationException;

    /**
     * Shuts down this controller. No calls to {@link #process(Map, Class...)} must be
     * made after invoking this method.
     */
    public void dispose();

    /**
     * Performs processing according to the life cycle specified in
     * {@link ProcessingComponent}.
     * 
     * @param attributes attributes to be used during processing. {@link Input} attributes
     *            will be transferred from this map to the corresponding fields.
     *            {@link Output} attributes will be collected and stored in this map, so
     *            the map must be modifiable. Keys of the map are computed based on the
     *            <code>key</code> parameter of the {@link Attribute} annotation.
     * @param processingComponentClasses classes of components to be involved in
     *            processing in the order they should be arranged in the pipeline.
     */
    public ProcessingResult process(Map<String, Object> attributes,
        Class<?>... processingComponentClasses) throws ProcessingException;
}

{'fraction_non_alphanumeric': 0.08363922391190351, 'fraction_numerical': 0.002097535395909806, 'mean_word_length': 2.7255859375, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5827147', 'n_tokens_mistral': 943, 'n_tokens_neox': 906, 'n_words': 363}