Class Add

  • All Implemented Interfaces:
    java.io.Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler, StreamableFilter, UnsupervisedFilter

    public class Add
    extends Filter
    implements UnsupervisedFilter, StreamableFilter, OptionHandler
    An instance filter that adds a new attribute to the dataset. The new attribute will contain all missing values.

    Valid options are:

     -T <NUM|NOM|STR|DAT>
      The type of attribute to create:
      NUM = Numeric attribute
      NOM = Nominal attribute
      STR = String attribute
      DAT = Date attribute
      (default: NUM)
     -C <index>
      Specify where to insert the column. First and last
      are valid indexes.(default: last)
     -N <name>
      Name of the new attribute.
      (default: 'Unnamed')
     -L <label1,label2,...>
      Create nominal attribute with given labels
      (default: numeric attribute)
     -F <format>
      The format of the date values (see ISO-8601)
      (default: yyyy-MM-dd'T'HH:mm:ss)
    Version:
    $Revision: 5543 $
    Author:
    Len Trigg (trigg@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Field Detail

      • TAGS_TYPE

        public static final Tag[] TAGS_TYPE
        the attribute type.
    • Constructor Detail

      • Add

        public Add()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this filter.
        Returns:
        a description of the filter suitable for displaying in the explorer/experimenter gui
      • listOptions

        public java.util.Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface OptionHandler
        Returns:
        an enumeration of all the available options.
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Parses a given list of options.

        Valid options are:

         -T <NUM|NOM|STR|DAT>
          The type of attribute to create:
          NUM = Numeric attribute
          NOM = Nominal attribute
          STR = String attribute
          DAT = Date attribute
          (default: NUM)
         -C <index>
          Specify where to insert the column. First and last
          are valid indexes.(default: last)
         -N <name>
          Name of the new attribute.
          (default: 'Unnamed')
         -L <label1,label2,...>
          Create nominal attribute with given labels
          (default: numeric attribute)
         -F <format>
          The format of the date values (see ISO-8601)
          (default: yyyy-MM-dd'T'HH:mm:ss)
        Specified by:
        setOptions in interface OptionHandler
        Parameters:
        options - the list of options as an array of strings
        Throws:
        java.lang.Exception - if an option is not supported
      • getOptions

        public java.lang.String[] getOptions()
        Gets the current settings of the filter.
        Specified by:
        getOptions in interface OptionHandler
        Returns:
        an array of strings suitable for passing to setOptions
      • setInputFormat

        public boolean setInputFormat​(Instances instanceInfo)
                               throws java.lang.Exception
        Sets the format of the input instances.
        Overrides:
        setInputFormat in class Filter
        Parameters:
        instanceInfo - an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).
        Returns:
        true if the outputFormat may be collected immediately
        Throws:
        java.lang.Exception - if the format couldn't be set successfully
      • input

        public boolean input​(Instance instance)
        Input an instance for filtering. Ordinarily the instance is processed and made available for output immediately. Some filters require all instances be read before producing output.
        Overrides:
        input in class Filter
        Parameters:
        instance - the input instance
        Returns:
        true if the filtered instance may now be collected with output().
        Throws:
        java.lang.IllegalStateException - if no input format has been defined.
      • attributeNameTipText

        public java.lang.String attributeNameTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getAttributeName

        public java.lang.String getAttributeName()
        Get the name of the attribute to be created.
        Returns:
        the new attribute name
      • setAttributeName

        public void setAttributeName​(java.lang.String name)
        Set the new attribute's name.
        Parameters:
        name - the new name
      • attributeIndexTipText

        public java.lang.String attributeIndexTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getAttributeIndex

        public java.lang.String getAttributeIndex()
        Get the index of the attribute used.
        Returns:
        the index of the attribute
      • setAttributeIndex

        public void setAttributeIndex​(java.lang.String attIndex)
        Sets index of the attribute used.
        Parameters:
        attIndex - the index of the attribute
      • nominalLabelsTipText

        public java.lang.String nominalLabelsTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getNominalLabels

        public java.lang.String getNominalLabels()
        Get the list of labels for nominal attribute creation.
        Returns:
        the list of labels for nominal attribute creation
      • setNominalLabels

        public void setNominalLabels​(java.lang.String labelList)
        Set the labels for nominal attribute creation.
        Parameters:
        labelList - a comma separated list of labels
        Throws:
        java.lang.IllegalArgumentException - if the labelList was invalid
      • attributeTypeTipText

        public java.lang.String attributeTypeTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setAttributeType

        public void setAttributeType​(SelectedTag value)
        Sets the type of attribute to generate.
        Parameters:
        value - the attribute type
      • getAttributeType

        public SelectedTag getAttributeType()
        Gets the type of attribute to generate.
        Returns:
        the current attribute type.
      • dateFormatTipText

        public java.lang.String dateFormatTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getDateFormat

        public java.lang.String getDateFormat()
        Get the date format, complying to ISO-8601.
        Returns:
        the date format
      • setDateFormat

        public void setDateFormat​(java.lang.String value)
        Set the date format, complying to ISO-8601.
        Parameters:
        value - a comma separated list of labels
      • main

        public static void main​(java.lang.String[] argv)
        Main method for testing this class.
        Parameters:
        argv - should contain arguments to the filter: use -h for help