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 Actorm_CallableActorthe callable actor.protected Stringm_CustomStopMessagethe custom stop message to use if flow gets stopped due to cancelation.protected CallableActorHelperm_Helperthe helper class.protected CallableActorReferencem_ParentComponentActorthe (optional) parent component to use.protected booleanm_ParentComponentActorConfiguredwhether the callable actor has been configured.protected booleanm_StopFlowIfCanceledwhether to stop the flow if canceled.protected StopModem_StopModehow to perform the stop.protected booleanm_UseOuterWindowwhether 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 StringcustomStopMessageTipText()Returns the tip text for this property.voiddefineOptions()Adds options to the internal list of options.protected voidderegisterWindow(Window window)Deregisters the window with the flow.protected StringdoExecute()Executes the flow item.abstract StringdoInteract()Performs the interaction with the user.StringdoInteractHeadless()Performs the interaction with the user in a headless environment.protected ActorfindCallableActor()Tries to find the callable actor referenced by its callable name.ComponentgetActualParentComponent()Returns the parent component to use.StringgetCustomStopMessage()Returns the custom message to use when stopping the flow.CallableActorReferencegetParentComponentActor()Returns the (optional) callable actor to use as parent component instead of the flow panel.booleangetStopFlowIfCanceled()Returns whether to stop the flow if dialog canceled.StopModegetStopMode()Returns the stop mode.booleangetUseOuterWindow()Returns whether to use the outer window as parent.protected voidinitialize()Initializes the members.StringparentComponentActorTipText()Returns the tip text for this property.protected voidregisterWindow(Window window, String title)Registers the window with the flow.protected voidreset()Resets the scheme.voidsetCustomStopMessage(String value)Sets the custom message to use when stopping the flow.voidsetParentComponentActor(CallableActorReference value)Sets the (optional) callable actor to use as parent component instead of the flow panel.voidsetStopFlowIfCanceled(boolean value)Sets whether to stop the flow if dialog canceled.voidsetStopMode(StopMode value)Sets the stop mode.voidsetUseOuterWindow(boolean value)Sets whether to use the outer window as parent.StringstopFlowIfCanceledTipText()Returns the tip text for this property.StringstopModeTipText()Returns the tip text for this property.booleansupportsHeadlessInteraction()Returns whether headless interaction is supported.StringuseOuterWindowTipText()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:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractActor
-
reset
protected void reset()
Resets the scheme.- Overrides:
resetin classAbstractActor
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initializein classAbstractActor
-
setStopFlowIfCanceled
public void setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.- Specified by:
setStopFlowIfCanceledin 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:
getStopFlowIfCanceledin interfaceInteractiveActor- Returns:
- true if the flow gets stopped if dialog canceled
-
stopFlowIfCanceledTipText
public String stopFlowIfCanceledTipText()
Returns the tip text for this property.- Specified by:
stopFlowIfCanceledTipTextin 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:
setCustomStopMessagein interfaceInteractiveActor- Parameters:
value- the stop message
-
getCustomStopMessage
public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.- Specified by:
getCustomStopMessagein interfaceInteractiveActor- Returns:
- the stop message
-
customStopMessageTipText
public String customStopMessageTipText()
Returns the tip text for this property.- Specified by:
customStopMessageTipTextin 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:
setStopModein interfaceStopModeSupporter- Parameters:
value- the mode
-
getStopMode
public StopMode getStopMode()
Returns the stop mode.- Specified by:
getStopModein interfaceStopModeSupporter- Returns:
- the mode
-
stopModeTipText
public String stopModeTipText()
Returns the tip text for this property.- Specified by:
stopModeTipTextin 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:
setParentComponentActorin 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:
getParentComponentActorin interfaceInteractiveActorWithCustomParentComponent- Returns:
- the callable actor
-
parentComponentActorTipText
public String parentComponentActorTipText()
Returns the tip text for this property.- Specified by:
parentComponentActorTipTextin 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:
setUseOuterWindowin interfaceInteractiveActorWithCustomParentComponent- Parameters:
value- true if to use outer window
-
getUseOuterWindow
public boolean getUseOuterWindow()
Returns whether to use the outer window as parent.- Specified by:
getUseOuterWindowin interfaceInteractiveActorWithCustomParentComponent- Returns:
- true if to use outer window
-
useOuterWindowTipText
public String useOuterWindowTipText()
Returns the tip text for this property.- Specified by:
useOuterWindowTipTextin 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:
getActualParentComponentin 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:
doInteractin 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:
supportsHeadlessInteractionin 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:
doInteractHeadlessin interfaceInteractiveActor- Returns:
- null if successfully interacted, otherwise error message
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecutein classAbstractActor- Returns:
- null if everything is fine, otherwise error message
-
-