Class AddUserFields

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.AddUserFields
All Implemented Interfaces:
Serializable, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, EnvironmentHandler, OptionHandler, RevisionHandler, WeightedAttributesHandler, WeightedInstancesHandler, UnsupervisedFilter

A filter that adds new attributes with user specified type and constant value. Numeric, nominal, string and date attributes can be created. Attribute name, and value can be set with environment variables. Date attributes can also specify a formatting string by which to parse the supplied date value. Alternatively, a current time stamp can be specified by supplying the special string "now" as the value for a date attribute.

Valid options are:

 -A <name:type:value>
  New field specification (name@type@value).
   Environment variables may be used for any/all parts of the
  specification. Type can be one of (numeric, nominal, string or date).
  The value for date be a specific date string or the special string
  "now" to indicate the current date-time. A specific date format
  string for parsing specific date values can be specified by suffixing
  the type specification - e.g. "myTime@date:MM-dd-yyyy@08-23-2009".This option may be specified multiple times
 
Version:
$Revision: 14508 $
Author:
Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  • Constructor Details

    • AddUserFields

      public AddUserFields()
      Constructs a new AddUserFields
  • Method Details

    • globalInfo

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

      public Capabilities getCapabilities()
      Returns the Capabilities of this filter.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class Filter
      Returns:
      the capabilities of this object
      See Also:
    • clearAttributeSpecs

      public void clearAttributeSpecs()
      Clear the list of attribute specifications
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class Filter
      Returns:
      an enumeration of all the available options.
    • setOptions

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

      * Valid options are:

      * *

       -A <name:type:value>
       *  New field specification (name@type@value).
       *   Environment variables may be used for any/all parts of the
       *  specification. Type can be one of (numeric, nominal, string or date).
       *  The value for date be a specific date string or the special string
       *  "now" to indicate the current date-time. A specific date format
       *  string for parsing specific date values can be specified by suffixing
       *  the type specification - e.g. "myTime@date:MM-dd-yyyy@08-23-2009".This option may be specified multiple times
       
      *
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class Filter
      Parameters:
      options - the list of options as an array of string
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of the filter
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class Filter
      Returns:
      an array of strings suitable for passing to setOptions
    • addAttributeSpec

      public void addAttributeSpec(String spec)
      Add an attribute spec to the list
      Parameters:
      spec - the attribute spec to add
    • attributeSpecsTipText

      public String attributeSpecsTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setAttributeSpecs

      public void setAttributeSpecs(List<AddUserFields.AttributeSpec> specs)
      Set the list of attribute specs to use to create the new attributes.
      Parameters:
      specs - the list of attribute specs to use
    • getAttributeSpecs

      public List<AddUserFields.AttributeSpec> getAttributeSpecs()
      Get the list of attribute specs to use to create the new attributes.
      Returns:
      the list of attribute specs to use
    • setEnvironment

      public void setEnvironment(Environment env)
      Set environment varialbes to use
      Specified by:
      setEnvironment in interface EnvironmentHandler
      Parameters:
      env - the environment variables to use
    • setInputFormat

      public boolean setInputFormat(Instances instanceInfo) throws 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:
      Exception - if the input format can'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:
      IllegalStateException - if no input format has been defined.
    • main

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