Package adams.flow.source
Class SelectDateTime
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,AutomatableInteraction
,AutomatableInteractiveActor
,ErrorHandler
,InteractiveActor
,InteractiveActorWithCustomParentComponent
,OutputProducer
,StopModeSupporter
,Serializable
,Comparable
public class SelectDateTime extends AbstractInteractiveSource implements AutomatableInteractiveActor
Pops up a dialog, prompting the user to select a date/time, date or time value.
Input/output:
- generates:
adams.core.base.BaseDateTime
Valid options are:
-D <int> (property: debugLevel) The greater the number the more additional info the scheme may output to the console (0 = off). default: 0 minimum: 0
-name <java.lang.String> (property: name) The name of the actor. default: SelectDateTime
-annotation <adams.core.base.BaseText> (property: annotations) The annotations to attach to this actor. default:
-skip (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is.
-stop-flow-on-error (property: stopFlowOnError) If set to true, the flow gets stopped in case this actor encounters an error; useful for critical actors.
-stop-if-canceled (property: stopFlowIfCanceled) If enabled, the flow gets stopped in case the user cancels the dialog.
-custom-stop-message <java.lang.String> (property: customStopMessage) The custom stop message to use in case a user cancelation stops the flow (default is the full name of the actor) default:
-type <DATE_AND_TIME|DATE|TIME> (property: type) The type of data to output. default: DATE_AND_TIME
-output-as-string (property: outputAsString) If enabled, a string is output rather than a typed object.
-non-interactive (property: nonInteractive) If enabled, a value based on the current date/time is forwarded without user interaction.
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SelectDateTime.Type
Determines what dialog is presented to the user and what the generated data type is.
-
Field Summary
Fields Modifier and Type Field Description protected boolean
m_NonInteractive
whether to automate the actor.protected boolean
m_OutputAsString
whether to output a string rather than objects.protected Token
m_OutputToken
the output token to broadcast.protected SelectDateTime.Type
m_Type
the type of data to output.-
Fields inherited from class adams.flow.source.AbstractInteractiveSource
m_CallableActor, m_CustomStopMessage, m_Helper, m_ParentComponentActor, m_ParentComponentActorConfigured, m_StopFlowIfCanceled, m_StopMode, m_UseOuterWindow
-
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
-
Fields inherited from interface adams.flow.core.InteractiveActor
INTERACTION_CANCELED
-
-
Constructor Summary
Constructors Constructor Description SelectDateTime()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Token
createToken(Date dateTime)
Creates a token from the provided date object.void
defineOptions()
Adds options to the internal list of options.String
doInteract()
Performs the interaction with the user.String
doInteractHeadless()
Performs the interaction with the user in a headless environment.Class[]
generates()
Returns the class of objects that it generates.boolean
getOutputAsString()
Returns the initial value the user is prompted with.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.SelectDateTime.Type
getType()
Returns the type of data to output.String
globalInfo()
Returns a string describing the object.boolean
hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.boolean
isNonInteractive()
Returns whether interactiveness is enabled/disabled.String
nonInteractiveTipText()
Returns the tip text for this property.Token
output()
Returns the generated token.String
outputAsStringTipText()
Returns the tip text for this property.protected void
reset()
Resets the scheme.void
setNonInteractive(boolean value)
Sets whether to enable/disable interactiveness.void
setOutputAsString(boolean value)
Sets the initial value to prompt the user with.void
setType(SelectDateTime.Type value)
Sets the type of data to output.boolean
supportsHeadlessInteraction()
Returns whether headless interaction is supported.String
typeTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.source.AbstractInteractiveSource
customStopMessageTipText, deregisterWindow, doExecute, findCallableActor, getActualParentComponent, getCustomStopMessage, getParentComponentActor, getStopFlowIfCanceled, getStopMode, getUseOuterWindow, initialize, parentComponentActorTipText, registerWindow, setCustomStopMessage, setParentComponentActor, setStopFlowIfCanceled, setStopMode, setUseOuterWindow, stopFlowIfCanceledTipText, stopModeTipText, useOuterWindowTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, backupState, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, execute, 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, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, preExecute, pruneBackup, pruneBackup, restoreState, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged, wrapUp
-
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, execute, 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, variableChanged, wrapUp
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.flow.core.InteractiveActor
customStopMessageTipText, getCustomStopMessage, getStopFlowIfCanceled, setCustomStopMessage, setStopFlowIfCanceled, stopFlowIfCanceledTipText
-
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.flow.core.StopModeSupporter
getStopMode, setStopMode, stopModeTipText
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_Type
protected SelectDateTime.Type m_Type
the type of data to output.
-
m_OutputAsString
protected boolean m_OutputAsString
whether to output a string rather than objects.
-
m_NonInteractive
protected boolean m_NonInteractive
whether to automate the actor.
-
m_OutputToken
protected Token m_OutputToken
the output token to broadcast.
-
-
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 classAbstractInteractiveSource
-
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
-
setType
public void setType(SelectDateTime.Type value)
Sets the type of data to output.- Parameters:
value
- the data type
-
getType
public SelectDateTime.Type getType()
Returns the type of data to output.- Returns:
- the data type
-
typeTipText
public String typeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setOutputAsString
public void setOutputAsString(boolean value)
Sets the initial value to prompt the user with.- Parameters:
value
- the initial value
-
getOutputAsString
public boolean getOutputAsString()
Returns the initial value the user is prompted with.- Returns:
- the initial value
-
outputAsStringTipText
public String outputAsStringTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setNonInteractive
public void setNonInteractive(boolean value)
Sets whether to enable/disable interactiveness.- Specified by:
setNonInteractive
in interfaceAutomatableInteraction
- Specified by:
setNonInteractive
in interfaceAutomatableInteractiveActor
- Parameters:
value
- if true actor is not interactive, but automated
-
isNonInteractive
public boolean isNonInteractive()
Returns whether interactiveness is enabled/disabled.- Specified by:
isNonInteractive
in interfaceAutomatableInteraction
- Specified by:
isNonInteractive
in interfaceAutomatableInteractiveActor
- Returns:
- true if actor is not interactive i.e., automated
-
nonInteractiveTipText
public String nonInteractiveTipText()
Returns the tip text for this property.- Specified by:
nonInteractiveTipText
in interfaceAutomatableInteraction
- Specified by:
nonInteractiveTipText
in interfaceAutomatableInteractiveActor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classAbstractInteractiveSource
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generates
in interfaceOutputProducer
- Returns:
- adams.core.base.BaseDateTime.class
-
createToken
protected Token createToken(Date dateTime)
Creates a token from the provided date object.- Parameters:
dateTime
- the date to use, null if to use current date/time- Returns:
- the generated token
-
doInteract
public String doInteract()
Performs the interaction with the user.- Specified by:
doInteract
in interfaceInteractiveActor
- Specified by:
doInteract
in classAbstractInteractiveSource
- Returns:
- null if successfully interacted, otherwise error message
-
supportsHeadlessInteraction
public boolean supportsHeadlessInteraction()
Returns whether headless interaction is supported.- Specified by:
supportsHeadlessInteraction
in interfaceInteractiveActor
- Overrides:
supportsHeadlessInteraction
in classAbstractInteractiveSource
- Returns:
- true if interaction in headless environment is possible
-
doInteractHeadless
public String doInteractHeadless()
Performs the interaction with the user in a headless environment.- Specified by:
doInteractHeadless
in interfaceInteractiveActor
- Overrides:
doInteractHeadless
in classAbstractInteractiveSource
- Returns:
- null if successfully interacted, otherwise error message
-
output
public Token output()
Returns the generated token.- Specified by:
output
in interfaceOutputProducer
- Returns:
- the generated token
-
hasPendingOutput
public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.- Specified by:
hasPendingOutput
in interfaceOutputProducer
- Returns:
- true if there is pending output
-
-