Package adams.flow.source
Class AbstractInteractiveSource
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.source.AbstractSource
-
- adams.flow.source.AbstractInteractiveSource
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ErrorHandler
,InteractiveActor
,InteractiveActorWithCustomParentComponent
,OutputProducer
,StopModeSupporter
,Serializable
,Comparable
- Direct Known Subclasses:
AbstractInteractiveArrayProvider
,EnterManyValues
,EnterValue
,PasteFromClipboard
,SelectCharset
,SelectDateTime
,SelectDirectory
public abstract class AbstractInteractiveSource extends AbstractSource implements InteractiveActorWithCustomParentComponent
Ancestor for source actors that interact with the user.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Actor
m_CallableActor
the callable actor.protected String
m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.protected CallableActorHelper
m_Helper
the helper class.protected CallableActorReference
m_ParentComponentActor
the (optional) parent component to use.protected boolean
m_ParentComponentActorConfigured
whether the callable actor has been configured.protected boolean
m_StopFlowIfCanceled
whether to stop the flow if canceled.protected StopMode
m_StopMode
how to perform the stop.protected boolean
m_UseOuterWindow
whether to use the outer window as parent.-
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 AbstractInteractiveSource()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description String
customStopMessageTipText()
Returns the tip text for this property.void
defineOptions()
Adds options to the internal list of options.protected void
deregisterWindow(Window window)
Deregisters the window with the flow.protected String
doExecute()
Executes the flow item.abstract String
doInteract()
Performs the interaction with the user.String
doInteractHeadless()
Performs the interaction with the user in a headless environment.protected Actor
findCallableActor()
Tries to find the callable actor referenced by its callable name.Component
getActualParentComponent()
Returns the parent component to use.String
getCustomStopMessage()
Returns the custom message to use when stopping the flow.CallableActorReference
getParentComponentActor()
Returns the (optional) callable actor to use as parent component instead of the flow panel.boolean
getStopFlowIfCanceled()
Returns whether to stop the flow if dialog canceled.StopMode
getStopMode()
Returns the stop mode.boolean
getUseOuterWindow()
Returns whether to use the outer window as parent.protected void
initialize()
Initializes the members.String
parentComponentActorTipText()
Returns the tip text for this property.protected void
registerWindow(Window window, String title)
Registers the window with the flow.protected void
reset()
Resets the scheme.void
setCustomStopMessage(String value)
Sets the custom message to use when stopping the flow.void
setParentComponentActor(CallableActorReference value)
Sets the (optional) callable actor to use as parent component instead of the flow panel.void
setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.void
setStopMode(StopMode value)
Sets the stop mode.void
setUseOuterWindow(boolean value)
Sets whether to use the outer window as parent.String
stopFlowIfCanceledTipText()
Returns the tip text for this property.String
stopModeTipText()
Returns the tip text for this property.boolean
supportsHeadlessInteraction()
Returns whether headless interaction is supported.String
useOuterWindowTipText()
Returns the tip text for this property.-
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, getQuickInfo, 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, globalInfo, 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, getQuickInfo, 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.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.OutputProducer
generates, hasPendingOutput, output
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_StopFlowIfCanceled
protected boolean m_StopFlowIfCanceled
whether to stop the flow if canceled.
-
m_CustomStopMessage
protected String m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.
-
m_StopMode
protected StopMode m_StopMode
how to perform the stop.
-
m_ParentComponentActor
protected CallableActorReference m_ParentComponentActor
the (optional) parent component to use.
-
m_CallableActor
protected Actor m_CallableActor
the callable actor.
-
m_ParentComponentActorConfigured
protected boolean m_ParentComponentActorConfigured
whether the callable actor has been configured.
-
m_Helper
protected CallableActorHelper m_Helper
the helper class.
-
m_UseOuterWindow
protected boolean m_UseOuterWindow
whether to use the outer window as parent.
-
-
Method Detail
-
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
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractActor
-
setStopFlowIfCanceled
public void setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.- Specified by:
setStopFlowIfCanceled
in interfaceInteractiveActor
- Parameters:
value
- if true flow gets stopped if dialog canceled
-
getStopFlowIfCanceled
public boolean getStopFlowIfCanceled()
Returns whether to stop the flow if dialog canceled.- Specified by:
getStopFlowIfCanceled
in interfaceInteractiveActor
- Returns:
- true if the flow gets stopped if dialog canceled
-
stopFlowIfCanceledTipText
public String stopFlowIfCanceledTipText()
Returns the tip text for this property.- Specified by:
stopFlowIfCanceledTipText
in interfaceInteractiveActor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setCustomStopMessage
public void setCustomStopMessage(String value)
Sets the custom message to use when stopping the flow.- Specified by:
setCustomStopMessage
in interfaceInteractiveActor
- Parameters:
value
- the stop message
-
getCustomStopMessage
public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.- Specified by:
getCustomStopMessage
in interfaceInteractiveActor
- Returns:
- the stop message
-
customStopMessageTipText
public String customStopMessageTipText()
Returns the tip text for this property.- Specified by:
customStopMessageTipText
in interfaceInteractiveActor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStopMode
public void setStopMode(StopMode value)
Sets the stop mode.- Specified by:
setStopMode
in interfaceStopModeSupporter
- Parameters:
value
- the mode
-
getStopMode
public StopMode getStopMode()
Returns the stop mode.- Specified by:
getStopMode
in interfaceStopModeSupporter
- Returns:
- the mode
-
stopModeTipText
public String stopModeTipText()
Returns the tip text for this property.- Specified by:
stopModeTipText
in interfaceStopModeSupporter
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setParentComponentActor
public void setParentComponentActor(CallableActorReference value)
Sets the (optional) callable actor to use as parent component instead of the flow panel.- Specified by:
setParentComponentActor
in interfaceInteractiveActorWithCustomParentComponent
- Parameters:
value
- the callable actor
-
getParentComponentActor
public CallableActorReference getParentComponentActor()
Returns the (optional) callable actor to use as parent component instead of the flow panel.- Specified by:
getParentComponentActor
in interfaceInteractiveActorWithCustomParentComponent
- Returns:
- the callable actor
-
parentComponentActorTipText
public String parentComponentActorTipText()
Returns the tip text for this property.- Specified by:
parentComponentActorTipText
in interfaceInteractiveActorWithCustomParentComponent
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUseOuterWindow
public void setUseOuterWindow(boolean value)
Sets whether to use the outer window as parent.- Specified by:
setUseOuterWindow
in interfaceInteractiveActorWithCustomParentComponent
- Parameters:
value
- true if to use outer window
-
getUseOuterWindow
public boolean getUseOuterWindow()
Returns whether to use the outer window as parent.- Specified by:
getUseOuterWindow
in interfaceInteractiveActorWithCustomParentComponent
- Returns:
- true if to use outer window
-
useOuterWindowTipText
public String useOuterWindowTipText()
Returns the tip text for this property.- Specified by:
useOuterWindowTipText
in interfaceInteractiveActorWithCustomParentComponent
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
findCallableActor
protected Actor findCallableActor()
Tries to find the callable actor referenced by its callable name.- Returns:
- the callable actor or null if not found
-
getActualParentComponent
public Component getActualParentComponent()
Returns the parent component to use.- Specified by:
getActualParentComponent
in interfaceInteractiveActorWithCustomParentComponent
- Returns:
- the parent
-
registerWindow
protected void registerWindow(Window window, String title)
Registers the window with the flow.- Parameters:
window
- the windowtitle
- the title
-
deregisterWindow
protected void deregisterWindow(Window window)
Deregisters the window with the flow.- Parameters:
window
- the window
-
doInteract
public abstract String doInteract()
Performs the interaction with the user.- Specified by:
doInteract
in interfaceInteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
supportsHeadlessInteraction
public boolean supportsHeadlessInteraction()
Returns whether headless interaction is supported.
Default implementation always returns false.- Specified by:
supportsHeadlessInteraction
in interfaceInteractiveActor
- Returns:
- true if interaction in headless environment is possible
-
doInteractHeadless
public String doInteractHeadless()
Performs the interaction with the user in a headless environment.
Default implementation always returns null.- Specified by:
doInteractHeadless
in interfaceInteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-