Package adams.data.weka.columnfinder
Class AbstractColumnFinder
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.weka.columnfinder.AbstractColumnFinder
-
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,ShallowCopySupporter<ColumnFinder>
,SizeOfHandler
,ColumnFinder
,Serializable
- Direct Known Subclasses:
AbstractColumnFinderWithCapabilities
,AbstractTrainableColumnFinder
,AllFinder
,ByExactName
,ByName
,Class
,Constant
,NullFinder
public abstract class AbstractColumnFinder extends AbstractOptionHandler implements ColumnFinder, ShallowCopySupporter<ColumnFinder>
Ancestor for classes that find columns of interest in datasets.- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description AbstractColumnFinder()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static HashSet<Integer>
arrayToHashSet(int[] indices)
Turns the array into a hashset.protected void
check(weka.core.Instances data)
Checks the data.int
compareTo(Object o)
Compares this object with the specified object for order.protected abstract int[]
doFindColumns(weka.core.Instances data)
Returns the columns of interest in the dataset.boolean
equals(Object o)
Returns whether the two objects are the same.int[]
findColumns(weka.core.Instances data)
Returns the columns of interest in the dataset.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, defineOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.Destroyable
destroy
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, defineOptions, getOptionManager, toCommandLine
-
-
-
-
Method Detail
-
check
protected void check(weka.core.Instances 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(weka.core.Instances data)
Returns the columns of interest in the dataset.- Parameters:
data
- the dataset to inspect- Returns:
- the columns of interest
-
findColumns
public int[] findColumns(weka.core.Instances data)
Returns the columns of interest in the dataset.- Specified by:
findColumns
in interfaceColumnFinder
- Parameters:
data
- the dataset 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.
-
shallowCopy
public ColumnFinder shallowCopy()
Returns a shallow copy of itself, i.e., based on the commandline options.- Specified by:
shallowCopy
in interfaceShallowCopySupporter<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 interfaceShallowCopySupporter<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 instantiateoptions
- 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
-
-