Package adams.flow.transformer
Class AbstractFilter
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,DatabaseConnectionUser
,VariableChangeListener
,Actor
,ErrorHandler
,InputConsumer
,OutputProducer
,VariableMonitor
,Serializable
,Comparable
- Direct Known Subclasses:
TimeseriesFilter
public abstract class AbstractFilter extends AbstractDataContainerTransformer implements VariableMonitor, DatabaseConnectionUser
Ancestor for domain-specific filter transformers.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
m_DatabaseConnectionUpdated
whether the database connection has been updated.protected Filter
m_Filter
the filter to apply.protected boolean
m_FlowContextUpdated
whether the flow context has been updated.protected boolean
m_OutputContainer
whether to output a container.protected VariableName
m_VariableName
the variable to listen to.-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description AbstractFilter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.protected Token
createToken(Object output)
Creates the output token.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the flow item.String
filterTipText()
Returns the tip text for this property.Class[]
generates()
Returns the class of objects that it generates.protected abstract AbstractDatabaseConnection
getDatabaseConnection()
Determines the database connection in the flow.protected abstract Class
getDataContainerClass()
Returns the data container class in use.Filter
getFilter()
Returns the filter in use.boolean
getOutputContainer()
Returns whether to output a container with the filter alongside the filtered data or just the filtered data.protected abstract Class
getOutputContainerClass()
Returns the container class in use for the output.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.VariableName
getVariableName()
Returns the name of the variable to monitor.String
globalInfo()
Returns a string describing the object.String
outputContainerTipText()
Returns the tip text for this property.protected void
reset()
Resets the scheme.void
setFilter(Filter value)
Sets the filter to use.void
setOutputContainer(boolean value)
Sets whether to output a container with the filter alongside the filtered data or just the filtered data.void
setVariableName(VariableName value)
Sets the name of the variable to monitor.void
variableChanged(VariableChangeEvent e)
Gets triggered when a variable changed (added, modified, removed).String
variableNameTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, currentInput, execute, hasInput, hasPendingOutput, input, output, postExecute, restoreState, wrapUp
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_Filter
protected Filter m_Filter
the filter to apply.
-
m_VariableName
protected VariableName m_VariableName
the variable to listen to.
-
m_OutputContainer
protected boolean m_OutputContainer
whether to output a container.
-
m_DatabaseConnectionUpdated
protected boolean m_DatabaseConnectionUpdated
whether the database connection has been updated.
-
m_FlowContextUpdated
protected boolean m_FlowContextUpdated
whether the flow context has been updated.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractActor
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classAbstractActor
-
setFilter
public void setFilter(Filter value)
Sets the filter to use.- Parameters:
value
- the filter
-
getFilter
public Filter getFilter()
Returns the filter in use.- Returns:
- the filter
-
filterTipText
public String filterTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setVariableName
public void setVariableName(VariableName value)
Sets the name of the variable to monitor.- Specified by:
setVariableName
in interfaceVariableMonitor
- Parameters:
value
- the name
-
getVariableName
public VariableName getVariableName()
Returns the name of the variable to monitor.- Specified by:
getVariableName
in interfaceVariableMonitor
- Returns:
- the name
-
variableNameTipText
public String variableNameTipText()
Returns the tip text for this property.- Specified by:
variableNameTipText
in interfaceVariableMonitor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setOutputContainer
public void setOutputContainer(boolean value)
Sets whether to output a container with the filter alongside the filtered data or just the filtered data.- Parameters:
value
- true if to output the container
-
getOutputContainer
public boolean getOutputContainer()
Returns whether to output a container with the filter alongside the filtered data or just the filtered data.- Returns:
- true if to output the container
-
outputContainerTipText
public String outputContainerTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceActor
- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractActor
- Returns:
- null if no info available, otherwise short string
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Overrides:
accepts
in classAbstractDataContainerTransformer
- Returns:
- the default DataContainer class for the project
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generates
in interfaceOutputProducer
- Overrides:
generates
in classAbstractDataContainerTransformer
- Returns:
- the default DataContainer class for the project
-
getDataContainerClass
protected abstract Class getDataContainerClass()
Returns the data container class in use.- Specified by:
getDataContainerClass
in classAbstractDataContainerTransformer
- Returns:
- the container class
-
getOutputContainerClass
protected abstract Class getOutputContainerClass()
Returns the container class in use for the output.- Returns:
- the container class
-
getDatabaseConnection
protected abstract AbstractDatabaseConnection getDatabaseConnection()
Determines the database connection in the flow.- Returns:
- the database connection to use
-
variableChanged
public void variableChanged(VariableChangeEvent e)
Gets triggered when a variable changed (added, modified, removed).- Specified by:
variableChanged
in interfaceActor
- Specified by:
variableChanged
in interfaceVariableChangeListener
- Overrides:
variableChanged
in classAbstractActor
- Parameters:
e
- the event
-
createToken
protected Token createToken(Object output)
Creates the output token.- Parameters:
output
- the generated output- Returns:
- the generated token
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-