adams.data.spreadsheet.columnfinder
Class AbstractColumnFinder

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.data.spreadsheet.columnfinder.AbstractColumnFinder
All Implemented Interfaces:
Debuggable, Destroyable, OptionHandler, ShallowCopySupporter<ColumnFinder>, SizeOfHandler, ColumnFinder, Serializable
Direct Known Subclasses:
AbstractTrainableColumnFinder, ByContentType, ByIndex, ByName, NullFinder

public abstract class AbstractColumnFinder
extends AbstractOptionHandler
implements ColumnFinder, ShallowCopySupporter<ColumnFinder>

Ancestor for classes that find columns of interest in spreadsheets.

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

Field Summary
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
AbstractColumnFinder()
           
 
Method Summary
static HashSet<Integer> arrayToHashSet(int[] indices)
          Turns the array into a hashset.
protected  void check(SpreadSheet data)
          Checks the data.
 int compareTo(Object o)
          Compares this object with the specified object for order.
protected abstract  int[] doFindColumns(SpreadSheet data)
          Returns the columns of interest in the spreadsheet.
 boolean equals(Object o)
          Returns whether the two objects are the same.
static SpreadSheet filter(SpreadSheet input, ColumnFinder finder)
          Filters the columns of a spreadsheet with the given column finder.
 int[] findColumns(SpreadSheet data)
          Returns the columns of interest in the spreadsheet.
static ColumnFinder forCommandLine(String cmdline)
          Instantiates the column finder from the given commandline (i.e., classname and optional options).
static ColumnFinder forName(String classname, String[] options)
          Instantiates the column finder with the given options.
static String[] getColumnFinders()
          Returns a list with classnames of column finders.
 ColumnFinder shallowCopy()
          Returns a shallow copy of itself, i.e., based on the commandline options.
 ColumnFinder shallowCopy(boolean expand)
          Returns a shallow copy of itself, i.e., based on the commandline options.
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debug, debugLevelTipText, defineOptions, destroy, finishInit, getDebugLevel, getOptionManager, globalInfo, initialize, isDebugOn, newOptionManager, reset, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut, sizeOf
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractColumnFinder

public AbstractColumnFinder()
Method Detail

check

protected void check(SpreadSheet data)
Checks the data.

Default implementation only checks whether we have any data at all.

Parameters:
data - the data to check

doFindColumns

protected abstract int[] doFindColumns(SpreadSheet data)
Returns the columns of interest in the spreadsheet.

Parameters:
data - the spreadsheet to inspect
Returns:
the columns of interest

findColumns

public int[] findColumns(SpreadSheet data)
Returns the columns of interest in the spreadsheet.

Specified by:
findColumns in interface ColumnFinder
Parameters:
data - the spreadsheet to inspect
Returns:
the columns of interest

compareTo

public int compareTo(Object o)
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

Only compares the commandlines of the two objects.

Parameters:
o - the object to be compared.
Returns:
a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

equals

public boolean equals(Object o)
Returns whether the two objects are the same.

Only compares the commandlines of the two objects.

Overrides:
equals in class Object
Parameters:
o - the object to be compared
Returns:
true if the object is the same as this one

shallowCopy

public ColumnFinder shallowCopy()
Returns a shallow copy of itself, i.e., based on the commandline options.

Specified by:
shallowCopy in interface ShallowCopySupporter<ColumnFinder>
Returns:
the shallow copy

shallowCopy

public ColumnFinder shallowCopy(boolean expand)
Returns a shallow copy of itself, i.e., based on the commandline options.

Specified by:
shallowCopy in interface ShallowCopySupporter<ColumnFinder>
Parameters:
expand - whether to expand variables to their current values
Returns:
the shallow copy

getColumnFinders

public static String[] getColumnFinders()
Returns a list with classnames of column finders.

Returns:
the column finder classnames

forName

public static ColumnFinder forName(String classname,
                                   String[] options)
Instantiates the column finder with the given options.

Parameters:
classname - the classname of the column finder to instantiate
options - the options for the column finder
Returns:
the instantiated column finder or null if an error occurred

forCommandLine

public static ColumnFinder forCommandLine(String cmdline)
Instantiates the column finder from the given commandline (i.e., classname and optional options).

Parameters:
cmdline - the classname (and optional options) of the column finder to instantiate
Returns:
the instantiated column finder or null if an error occurred

arrayToHashSet

public static HashSet<Integer> arrayToHashSet(int[] indices)
Turns the array into a hashset.

Parameters:
indices - the indices to turn into hashset
Returns:
the generated hashset

filter

public static SpreadSheet filter(SpreadSheet input,
                                 ColumnFinder finder)
Filters the columns of a spreadsheet with the given column finder.

Parameters:
input - the spreadsheet to filter
finder - the column finder to use
Returns:
the generated output


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.