All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.carrot2.text.preprocessing.filter.MinLengthLabelFilterDescriptor Maven / Gradle / Ivy

Go to download

Carrot2 search results clustering framework core, document sources and clustering algorithms.

There is a newer version: 4.6.0
Show newest version


// APT-generated file.

package org.carrot2.text.preprocessing.filter;

//Imported for JavaDoc references mostly.
import org.carrot2.util.attribute.*;

import java.util.*;
import javax.annotation.*;

/**
 * Metadata and attributes of the {@link org.carrot2.text.preprocessing.filter.MinLengthLabelFilter} component. You can use 
 * this descriptor to obtain metadata, such as human readable name and description, about the component 
 * as a whole as well as about its attributes. Using the {@link #attributeBuilder(Map)}
 * you can obtain a builder for type-safe generation of the attribute maps. Please see the
 * main overview for a complete code example. 
 */
@Generated("Generated from org.carrot2.text.preprocessing.filter.MinLengthLabelFilter")
public final class MinLengthLabelFilterDescriptor implements IBindableDescriptor
{
    /**
     * The component class for which this descriptor was generated. 
     */
    public final String bindableClassName = "org.carrot2.text.preprocessing.filter.MinLengthLabelFilter";

    /**
     * Attribute prefix used by the component.
     */
    public final String prefix = "MinLengthLabelFilter";

    /**
     * A one sentence summary of the component. It could be presented as a header of the tool
     * tip of the corresponding UI component.
     */
    public final String title = "Accepts labels whose length in characters is greater or equal to the provided value";
    
    /**
     * A short label for the component. It can be presented as a label of the
     * corresponding UI component.
     */
    public final String label = "";

    /**
     * A longer, possibly multi sentence, description of the component. It could be presented
     * as a body of the tool tip of the corresponding UI component.
     */
    public final String description = "";

    /**
     * Attributes of the component. Note that only statically reachable fields are included.
     * Additional attributes may be available at run time. 
     */
    public final static Attributes attributes; 

    /**
     * Attributes declared directly by the component.
     */
    private final static Set ownAttributes;

    /**
     * Attributes declared by the component or its superclasses.
     */
    private final static Set allAttributes;

    /**
     * Attributes declared by the component or its superclasses, lookup dictionary 
     * by attribute key.
     */
    private final static Map allAttributesByKey;

    /**
     * Attributes declared by the component or its superclasses, lookup dictionary by 
     * attribute's field name.
     */
    private final static Map allAttributesByFieldName;

    /**
     * Static initializer for internal collections.
     */
    static
    {
        attributes = new Attributes();

        final Set ownAttrs = new HashSet();
        ownAttrs.add(attributes.enabled);

        final Set allAttrs = new HashSet();
        allAttrs.add(org.carrot2.text.preprocessing.filter.MinLengthLabelFilterDescriptor.attributes.enabled);

        allAttributes = Collections.unmodifiableSet(allAttrs);
        ownAttributes = Collections.unmodifiableSet(ownAttrs);
        
        final Map allAttrsByKey = new HashMap();
        final Map allAttrsByFieldName = new HashMap();
        for (AttributeInfo ai : allAttrs)
        {
            allAttrsByKey.put(ai.key, ai);
            allAttrsByFieldName.put(ai.fieldName, ai);
        }

        allAttributesByKey = Collections.unmodifiableMap(allAttrsByKey);
        allAttributesByFieldName = Collections.unmodifiableMap(allAttrsByFieldName);
    }

    
    /* Attribute keys. */

    /**
     * Constants for all attribute keys of the {@link org.carrot2.text.preprocessing.filter.MinLengthLabelFilter} component.
     */
    public static class Keys 
    {
        protected Keys() {} 

        /** Attribute key for: {@link org.carrot2.text.preprocessing.filter.MinLengthLabelFilter#enabled}. */
        public static final String ENABLED = "MinLengthLabelFilter.enabled";
    }


    /* Attribute descriptors. */

    /**
     * All attributes of the {@link org.carrot2.text.preprocessing.filter.MinLengthLabelFilter} component.
     */
    public static final class Attributes
    {
        private Attributes() { /* No public instances. */ }

        /**
         *          */
        public final AttributeInfo enabled = 
            new AttributeInfo(
                "MinLengthLabelFilter.enabled",
                "org.carrot2.text.preprocessing.filter.MinLengthLabelFilter",
                "enabled",
                "Remove labels shorter than 3 characters. Removes labels whose total length in\ncharacters, including spaces, is less than 3.",
                "Remove short labels",
                "Remove labels shorter than 3 characters",
                "Removes labels whose total length in characters, including spaces, is less than 3.",
                "Labels",
                org.carrot2.util.attribute.AttributeLevel.BASIC,
                null
            );


    }

    /**
     * Attribute map builder for the  {@link org.carrot2.text.preprocessing.filter.MinLengthLabelFilter} component. You can use this
     * builder as a type-safe alternative to populating the attribute map using attribute keys.
     */
    public static class AttributeBuilder 
    {
        /** The attribute map populated by this builder. */
        public final Map map;

        /**
         * Creates a builder backed by the provided map.
         */
        protected AttributeBuilder(Map map)
        {
            
            this.map = map;
        }


        
        
        /**
         * Remove labels shorter than 3 characters. Removes labels whose total length in
characters, including spaces, is less than 3.
         * 
         * @see org.carrot2.text.preprocessing.filter.MinLengthLabelFilter#enabled 
         */
        public AttributeBuilder enabled(boolean value)
        {
            map.put("MinLengthLabelFilter.enabled", value);
            return this;
        }
        
        
        
        
        
        /**
         * Remove labels shorter than 3 characters. Removes labels whose total length in
characters, including spaces, is less than 3.
         * 
         * @see org.carrot2.text.preprocessing.filter.MinLengthLabelFilter#enabled 
         */
        public AttributeBuilder enabled(IObjectFactory value)
        {
            map.put("MinLengthLabelFilter.enabled", value);
            return this;
        }
        
        
        
    }

    /**
     * Creates an attribute map builder for the component. You can use this
     * builder as a type-safe alternative to populating the attribute map using attribute keys.
     * 
     * @param attributeValues An existing map which should be used to collect attribute values. 
     *        Attribute values set by this builder will be added to the provided map, overwriting
     *        previously defined mappings, if any.
     */
    public static AttributeBuilder attributeBuilder(Map attributeValues)
    {
        return new AttributeBuilder(attributeValues);
    }
    
    /* IBindableDescriptor */

    @Override 
    public String getPrefix()
    {
        return prefix;
    }

    @Override 
    public String getTitle()
    {
        return title;
    }
    
    @Override 
    public String getLabel()      
    { 
        return label;
    }
    
    @Override 
    public String getDescription() 
    { 
        return description; 
    }

    @Override 
    public Set getOwnAttributes()
    { 
        return ownAttributes;
    }

    @Override 
    public Set getAttributes()
    {
        return allAttributes;
    }

    @Override 
    public Map getAttributesByKey()
    {
        return allAttributesByKey;
    }

    @Override 
    public Map getAttributesByFieldName()
    {
        return allAttributesByFieldName;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy