Package weka.filters.unsupervised.attribute

# Class AddID

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.AddID

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `OptionHandler`, `RevisionHandler`, `UnsupervisedFilter`

public class AddID extends Filter implements UnsupervisedFilter, OptionHandler
An instance filter that adds an ID attribute to the dataset. The new attribute contains a unique ID for each instance.
Note: The ID is not reset for the second batch of files (using -b and -r and -s).

Valid options are:

     -C <index>
      Specify where to insert the ID. First and last
      are valid indexes.(default first)

     -N <name>
      Name of the new attribute.
      (default = 'ID')

Version:
  $Revision: 5543 $
Author:
  fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`AddID()`

## Method Summary

Modifier and Type
Method
Description
`String`
`attributeNameTipText()`
Returns the tip text for this property
`boolean`
`batchFinished()`
Signify that this batch of input to the filter is finished.
`String`
`getAttributeName()`
Get the name of the attribute to be created
`Capabilities`
`getCapabilities()`
Returns the Capabilities of this filter.
`String`
`getIDIndex()`
Get the index of the attribute used.
`String[]`
`getOptions()`
Gets the current settings of the filter.
`String`
`getRevision()`
Returns the revision string.
`String`
`globalInfo()`
Returns a string describing this filter
`String`
`IDIndexTipText()`
Returns the tip text for this property
`boolean`
`input(Instance instance)`
Input an instance for filtering.
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options.
`static void`
`main(String[] args)`
Main method for testing this class.
`void`
`setAttributeName(String value)`
Set the new attribute's name
`void`
`setIDIndex(String value)`
Sets index of the attribute used.
`boolean`
`setInputFormat(Instances instanceInfo)`
Sets the format of the input instances.
`void`
`setOptions(String[] options)`
Parses a given list of options.

### Methods inherited from class weka.filters.Filter

`batchFilterFile, filterFile, getCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### AddID

public AddID()

## 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

### listOptions

public 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(String[] options) throws Exception
Parses a given list of options.

Valid options are:

     -C <index>
      Specify where to insert the ID. First and last
      are valid indexes.(default first)

     -N <name>
      Name of the new attribute.
      (default = 'ID')

Specified by:
  `setOptions` in interface `OptionHandler`
Parameters:
  `options` - the list of options as an array of strings
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`
Returns:
  an array of strings suitable for passing to setOptions

### attributeNameTipText

public 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 String getAttributeName()
Get the name of the attribute to be created

Returns:
  the current attribute name

### setAttributeName

public void setAttributeName(String value)
Set the new attribute's name

Parameters:
  `value` - the new name

### IDIndexTipText

public String IDIndexTipText()
Returns the tip text for this property

Returns:
  tip text for this property suitable for displaying in the explorer/experimenter gui

### getIDIndex

public String getIDIndex()
Get the index of the attribute used.

Returns:
  the index of the attribute

### setIDIndex

public void setIDIndex(String value)
Sets index of the attribute used.

Parameters:
  `value` - the index of the attribute

### 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:
  - `Capabilities`

### 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 format couldn't be set successfully

### input

public boolean input(Instance instance)
Input an instance for filtering. Filter requires all training 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 set.

### batchFinished

public boolean batchFinished()
Signify that this batch of input to the filter is finished. If the filter requires all instances prior to filtering, output() may now be called to retrieve the filtered instances.

Overrides:
  `batchFinished` in class `Filter`
Returns:
  true if there are instances pending output
Throws:
  `IllegalStateException` - if no input structure has been defined

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Overrides:
  `getRevision` in class `Filter`
Returns:
  the revision

### main

public static void main(String[] args)
Main method for testing this class.

Parameters:
  `args` - should contain arguments to the filter: use -h for help