Package adams.flow.transformer
Class FindInFile
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ErrorHandler
,InputConsumer
,OutputProducer
,Serializable
,Comparable
public class FindInFile extends AbstractTransformer
Searches the incoming (text) file for the specified search string, output the boolean search result.
Input/output:
- accepts:
java.lang.String
java.io.File
- generates:
java.lang.Boolean
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: FindInFile
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-find <java.lang.String> (property: find) The text to search for. default:
-case-sensitive <boolean> (property: caseSensitive) If enabled, the search is performed in case-sensitive fashion. default: false
-regexp <boolean> (property: regExp) If enabled, the search string is interpreted as a regular expression. default: false
-use-custom-handler <boolean> (property: useCustomHandler) If enabled, the specified file search handler is used instead of auto-detected one. default: false
-custom-handler <adams.core.io.filesearch.FileSearchHandler> (property: customHandler) The custom file search handler to use (if enabled). default: adams.core.io.filesearch.TextFileSearchHandler
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected FileSearchHandler
m_ActualHandler
the actual handler in use.protected boolean
m_CaseSensitive
whether the search is case-sensitive.protected FileSearchHandler
m_CustomHandler
the handler to use.protected String
m_Find
the text to look for.protected boolean
m_RegExp
whether the search string represents a regular expression (search handler must support that).protected boolean
m_UseCustomHandler
whether to use a specific file search handler rather than auto-detected one.-
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 FindInFile()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
caseSensitiveTipText()
Returns the tip text for this property.String
customHandlerTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Executes the flow item.String
findTipText()
Returns the tip text for this property.Class[]
generates()
Returns the class of objects that it generates.boolean
getCaseSensitive()
Returns whether the search is case-sensitive.FileSearchHandler
getCustomHandler()
Returns the file search handler to use.String
getFind()
Returns the search text.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.boolean
getRegExp()
Returns whether the search string is a regular expression.boolean
getUseCustomHandler()
Returns whether to use the custom handler instead of auto-detected one.String
globalInfo()
Returns a string describing the object.String
regExpTipText()
Returns the tip text for this property.void
setCaseSensitive(boolean value)
Sets whether the search is case-sensitive.void
setCustomHandler(FileSearchHandler value)
Sets the file search handler to use.void
setFind(String value)
Sets the search text.void
setRegExp(boolean value)
Sets whether the search string is a regular expression.String
setUp()
Initializes the item for flow execution.void
setUseCustomHandler(boolean value)
Sets whether to use the custom handler instead of auto-detected one.void
stopExecution()
Stops the execution.String
useCustomHandlerTipText()
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, reset, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
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, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, toCommandLine, variableChanged
-
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_Find
protected String m_Find
the text to look for.
-
m_CaseSensitive
protected boolean m_CaseSensitive
whether the search is case-sensitive.
-
m_RegExp
protected boolean m_RegExp
whether the search string represents a regular expression (search handler must support that).
-
m_UseCustomHandler
protected boolean m_UseCustomHandler
whether to use a specific file search handler rather than auto-detected one.
-
m_CustomHandler
protected FileSearchHandler m_CustomHandler
the handler to use.
-
m_ActualHandler
protected FileSearchHandler m_ActualHandler
the actual handler in use.
-
-
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
-
setFind
public void setFind(String value)
Sets the search text.- Parameters:
value
- the text
-
getFind
public String getFind()
Returns the search text.- Returns:
- the text
-
findTipText
public String findTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setCaseSensitive
public void setCaseSensitive(boolean value)
Sets whether the search is case-sensitive.- Parameters:
value
- true if case-sensitive
-
getCaseSensitive
public boolean getCaseSensitive()
Returns whether the search is case-sensitive.- Returns:
- true if case-sensitive
-
caseSensitiveTipText
public String caseSensitiveTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setRegExp
public void setRegExp(boolean value)
Sets whether the search string is a regular expression.- Parameters:
value
- true if regexp
-
getRegExp
public boolean getRegExp()
Returns whether the search string is a regular expression.- Returns:
- true if regexp
-
regExpTipText
public String regExpTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUseCustomHandler
public void setUseCustomHandler(boolean value)
Sets whether to use the custom handler instead of auto-detected one.- Parameters:
value
- true if custom handler
-
getUseCustomHandler
public boolean getUseCustomHandler()
Returns whether to use the custom handler instead of auto-detected one.- Returns:
- true if custom handler
-
useCustomHandlerTipText
public String useCustomHandlerTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setCustomHandler
public void setCustomHandler(FileSearchHandler value)
Sets the file search handler to use.- Parameters:
value
- the handler
-
getCustomHandler
public FileSearchHandler getCustomHandler()
Returns the file search handler to use.- Returns:
- the handler
-
customHandlerTipText
public String customHandlerTipText()
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.- Returns:
- the Class of objects that can be processed
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Returns:
- the Class of the generated tokens
-
setUp
public String setUp()
Initializes the item for flow execution.- Specified by:
setUp
in interfaceActor
- Overrides:
setUp
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
- See Also:
AbstractActor.reset()
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
stopExecution
public void stopExecution()
Stops the execution. No message set.- Specified by:
stopExecution
in interfaceActor
- Specified by:
stopExecution
in interfaceStoppable
- Overrides:
stopExecution
in classAbstractActor
-
-