Class AbstractRowStatistic
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.data.spreadsheet.rowstatistic.AbstractRowStatistic
-
- All Implemented Interfaces:
Destroyable
,ErrorProvider
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,SizeOfHandler
,Serializable
- Direct Known Subclasses:
AbstractDoubleArrayRowStatistic
,Distinct
,LabelCounts
,Missing
,MultiRowStatistic
,Unique
public abstract class AbstractRowStatistic extends AbstractOptionHandler implements ErrorProvider
Ancestor for row statistic generators.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int[]
m_ColumnIndices
the column indices to operate on.protected SpreadSheetColumnRange
m_Columns
the columns to operate on.protected String
m_LastError
the last error that was generated.-
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 AbstractRowStatistic()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected String
check(SpreadSheet sheet, int rowIndex)
Checks whether the spreadsheet can be handled.String
columnsTipText()
Returns the tip text for this property.protected SpreadSheet
createOutputHeader()
Generates the header for the statistics result.void
defineOptions()
Adds options to the internal list of options.protected SpreadSheet
doGenerate(SpreadSheet sheet, int rowIndex)
Performs the actual generation of statistics for the specified spreadsheet row.protected abstract void
doVisit(Row row, int colIndex)
Gets called with every cell in the row for generating the stats.SpreadSheet
generate(SpreadSheet sheet, int rowIndex)
Generates statistics for the specified spreadsheet row.SpreadSheetColumnRange
getColumns()
Returns the columns to operate on.String
getLastError()
Returns the last error that occurred.boolean
hasLastError()
Checks whether there was an error with the last stats generation.protected abstract SpreadSheet
postVisit(SpreadSheet sheet, int rowIndex)
Finishes up the stats generation after all the cells have been visited.protected abstract void
preVisit(SpreadSheet sheet, int rowIndex)
Performs initialization before the cells are being visited.protected void
reset()
Resets the scheme.void
setColumns(SpreadSheetColumnRange value)
Sets the columns to operate on.-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, initialize, loggingLevelTipText, newOptionManager, 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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel
-
-
-
-
Field Detail
-
m_Columns
protected SpreadSheetColumnRange m_Columns
the columns to operate on.
-
m_ColumnIndices
protected transient int[] m_ColumnIndices
the column indices to operate on.
-
m_LastError
protected String m_LastError
the last error that was generated.
-
-
Method Detail
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractOptionHandler
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classAbstractOptionHandler
-
setColumns
public void setColumns(SpreadSheetColumnRange value)
Sets the columns to operate on.- Parameters:
value
- the columns
-
getColumns
public SpreadSheetColumnRange getColumns()
Returns the columns to operate on.- Returns:
- the columns
-
columnsTipText
public String columnsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
hasLastError
public boolean hasLastError()
Checks whether there was an error with the last stats generation.- Specified by:
hasLastError
in interfaceErrorProvider
- Returns:
- true if there was an error
- See Also:
getLastError()
-
getLastError
public String getLastError()
Returns the last error that occurred.- Specified by:
getLastError
in interfaceErrorProvider
- Returns:
- the last error, null if none occurred
-
check
protected String check(SpreadSheet sheet, int rowIndex)
Checks whether the spreadsheet can be handled.- Parameters:
sheet
- the spreadsheet to checkrowIndex
- the row index- Returns:
- null if everythin ok, otherwise error message
-
createOutputHeader
protected SpreadSheet createOutputHeader()
Generates the header for the statistics result.- Returns:
- the generated header
-
preVisit
protected abstract void preVisit(SpreadSheet sheet, int rowIndex)
Performs initialization before the cells are being visited.- Parameters:
sheet
- the spreadsheet to generate the stats forrowIndex
- the row index
-
doVisit
protected abstract void doVisit(Row row, int colIndex)
Gets called with every cell in the row for generating the stats.- Parameters:
row
- the current rowcolIndex
- the column index
-
postVisit
protected abstract SpreadSheet postVisit(SpreadSheet sheet, int rowIndex)
Finishes up the stats generation after all the cells have been visited.- Parameters:
sheet
- the spreadsheet to generate the stats forrowIndex
- the row index- Returns:
- the generated stats
-
doGenerate
protected SpreadSheet doGenerate(SpreadSheet sheet, int rowIndex)
Performs the actual generation of statistics for the specified spreadsheet row.- Parameters:
sheet
- the spreadsheet to generate the stats forrowIndex
- the row index- Returns:
- the generated statistics, null in case of an error
-
generate
public SpreadSheet generate(SpreadSheet sheet, int rowIndex)
Generates statistics for the specified spreadsheet row.- Parameters:
sheet
- the spreadsheet to generate the stats forrowIndex
- the row index- Returns:
- the generated statistics, null in case of an error
-
-