Package adams.data.spreadsheet.rowfinder
Class AbstractRowFinder
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.spreadsheet.rowfinder.AbstractRowFinder
-
- All Implemented Interfaces:
Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<RowFinder>
,SizeOfHandler
,RowFinder
,Serializable
- Direct Known Subclasses:
AbstractTrainableRowFinder
,AllFinder
,ByContentType
,ByDateValue
,ByIndex
,ByNumericRange
,ByNumericValue
,ByStringComparison
,ByValue
,ClosestNumericValue
,DownSample
,IsNumeric
,MissingValue
,NullFinder
,SubSample
public abstract class AbstractRowFinder extends AbstractOptionHandler implements RowFinder, ShallowCopySupporter<RowFinder>
Ancestor for classes that find rows 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 AbstractRowFinder()
-
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(SpreadSheet data)
Checks the data.int
compareTo(Object o)
Compares this object with the specified object for order.protected abstract int[]
doFindRows(SpreadSheet data)
Returns the rows of interest in the spreadsheet.boolean
equals(Object o)
Returns whether the two objects are the same.static SpreadSheet
filter(SpreadSheet input, RowFinder finder)
Filters the rows of the spreadsheet with the specified row finder.int[]
findRows(SpreadSheet data)
Returns the rows of interest in the spreadsheet.static RowFinder
forCommandLine(String cmdline)
Instantiates the row finder from the given commandline (i.e., classname and optional options).static RowFinder
forName(String classname, String[] options)
Instantiates the row finder with the given options.String
getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.static String[]
getRowFinders()
Returns a list with classnames of row finders.RowFinder
shallowCopy()
Returns a shallow copy of itself, i.e., based on the commandline options.RowFinder
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.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Method Detail
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the object, which can be displayed in the GUI.
Default implementation returns null.- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Returns:
- null if no info available, otherwise short string
-
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
-
doFindRows
protected abstract int[] doFindRows(SpreadSheet data)
Returns the rows of interest in the spreadsheet.- Parameters:
data
- the spreadsheet to inspect- Returns:
- the rows of interest
-
findRows
public int[] findRows(SpreadSheet data)
Returns the rows of interest in the spreadsheet.
-
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.
- Throws:
ClassCastException
- if the specified object's type prevents it from being compared to this 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 RowFinder shallowCopy()
Returns a shallow copy of itself, i.e., based on the commandline options.- Specified by:
shallowCopy
in interfaceShallowCopySupporter<RowFinder>
- Returns:
- the shallow copy
-
shallowCopy
public RowFinder shallowCopy(boolean expand)
Returns a shallow copy of itself, i.e., based on the commandline options.- Specified by:
shallowCopy
in interfaceShallowCopySupporter<RowFinder>
- Parameters:
expand
- whether to expand variables to their current values- Returns:
- the shallow copy
-
getRowFinders
public static String[] getRowFinders()
Returns a list with classnames of row finders.- Returns:
- the row finder classnames
-
forName
public static RowFinder forName(String classname, String[] options)
Instantiates the row finder with the given options.- Parameters:
classname
- the classname of the row finder to instantiateoptions
- the options for the row finder- Returns:
- the instantiated row finder or null if an error occurred
-
forCommandLine
public static RowFinder forCommandLine(String cmdline)
Instantiates the row finder from the given commandline (i.e., classname and optional options).- Parameters:
cmdline
- the classname (and optional options) of the row finder to instantiate- Returns:
- the instantiated row 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, RowFinder finder)
Filters the rows of the spreadsheet with the specified row finder.- Parameters:
input
- the spreadsheet to filterfinder
- the row finder to use- Returns:
- the generated output
-
-