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_ColumnIndicesthe column indices to operate on.protected SpreadSheetColumnRangem_Columnsthe columns to operate on.protected Stringm_LastErrorthe 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 Stringcheck(SpreadSheet sheet, int rowIndex)Checks whether the spreadsheet can be handled.StringcolumnsTipText()Returns the tip text for this property.protected SpreadSheetcreateOutputHeader()Generates the header for the statistics result.voiddefineOptions()Adds options to the internal list of options.protected SpreadSheetdoGenerate(SpreadSheet sheet, int rowIndex)Performs the actual generation of statistics for the specified spreadsheet row.protected abstract voiddoVisit(Row row, int colIndex)Gets called with every cell in the row for generating the stats.SpreadSheetgenerate(SpreadSheet sheet, int rowIndex)Generates statistics for the specified spreadsheet row.SpreadSheetColumnRangegetColumns()Returns the columns to operate on.StringgetLastError()Returns the last error that occurred.booleanhasLastError()Checks whether there was an error with the last stats generation.protected abstract SpreadSheetpostVisit(SpreadSheet sheet, int rowIndex)Finishes up the stats generation after all the cells have been visited.protected abstract voidpreVisit(SpreadSheet sheet, int rowIndex)Performs initialization before the cells are being visited.protected voidreset()Resets the scheme.voidsetColumns(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:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractOptionHandler
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin 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:
hasLastErrorin interfaceErrorProvider- Returns:
- true if there was an error
- See Also:
getLastError()
-
getLastError
public String getLastError()
Returns the last error that occurred.- Specified by:
getLastErrorin 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
-
-