Package adams.flow.control
Class Keytool
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.control.AbstractControlActor
-
- adams.flow.control.AbstractTee
-
- adams.flow.control.Tee
-
- adams.flow.control.Keytool
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.ClassCrossReference
,adams.core.CleanUpHandler
,adams.core.CrossReference
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.Pausable
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.FlowPauseStateListener
,adams.event.VariableChangeListener
,adams.flow.control.AtomicExecution
,adams.flow.core.Actor
,adams.flow.core.ActorHandler
,adams.flow.core.ActorWithConditionalEquivalent
,adams.flow.core.ActorWithTimedEquivalent
,adams.flow.core.ControlActor
,adams.flow.core.ErrorHandler
,adams.flow.core.Flushable
,adams.flow.core.InputConsumer
,adams.flow.core.MutableActorHandler
,adams.flow.core.OutputProducer
,adams.flow.core.SubFlowWrapUp
,Serializable
,Comparable
public class Keytool extends adams.flow.control.Tee implements adams.core.ClassCrossReference
Runs keytool whenever a token gets passed through. The generated output gets tee-ed off.
If a password should be required, it is recommended to prompt the user via the adams.flow.source.EnterManyValues source, using the PASSWORD type for the parameter. The password can then be inserted via a variable in the additional options.
See also:
adams.flow.source.EnterManyValues
Input/output:
- accepts:
adams.flow.core.Unknown
- generates:
adams.flow.core.Unknown
Conditional equivalent:
adams.flow.control.ConditionalTee
-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: Keytool
-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
-finish-before-stopping <boolean> (property: finishBeforeStopping) If enabled, actor first finishes processing all data before stopping. default: false
-stopping-timeout <int> (property: stoppingTimeout) The timeout in milliseconds when waiting for actors to finish (<= 0 for infinity; see 'finishBeforeStopping'). default: -1 minimum: -1
-asynchronous <boolean> (property: asynchronous) If enabled, the sub-actors get executed asynchronously rather than the flow waiting for them to finish before proceeding with execution. default: false
-tee <adams.flow.core.Actor> [-tee ...] (property: actors) The actors to siphon-off the tokens to. default:
-executable <adams.core.io.PlaceholderFile> (property: executable) The full path to the keytool executable.
-additional <java.lang.String> (property: additionalOptions) Additional options for the keytool execution, supports inline variables. default:
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected String
m_AdditionalOptions
additional options for keytool.protected adams.core.io.PlaceholderFile
m_Executable
the keytool executable.-
Fields inherited from class adams.flow.control.AbstractTee
BACKUP_INPUT, m_Actors, m_Asynchronous, m_AsynchronousWorker, m_InputToken, m_MinimumActiveActors, m_OutputToken
-
Fields inherited from class adams.flow.control.AbstractControlActor
m_Compatibility, m_PauseStateManager, m_SetUpSubActors
-
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
-
-
Constructor Summary
Constructors Constructor Description Keytool()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
additionalOptionsTipText()
Returns the tip text for this property.protected boolean
canProcessInput(adams.flow.core.Token token)
Returns whether the token can be processed in the tee actor.protected adams.flow.core.Token
createTeeToken(adams.flow.core.Token token)
Creates the token to tee-off.void
defineOptions()
Adds options to the internal list of options.String
executableTipText()
Returns the tip text for this property.String
getAdditionalOptions()
Returns the additional options for keytool.Class[]
getClassCrossReferences()
Returns the cross-referenced classes.adams.core.io.PlaceholderFile
getExecutable()
Returns the keytool executable.protected String
getKeytoolExecutablePath()
Returns the full path of the JMap executable, if possible.String
globalInfo()
Returns a string describing the object.void
setAdditionalOptions(String value)
Sets the additional options for keytool.void
setExecutable(adams.core.io.PlaceholderFile value)
Sets the keytool executable.-
Methods inherited from class adams.flow.control.Tee
checkTeeActor, checkTeeActors, getActorHandlerInfo, getConditionalEquivalent, getTimedEquivalent, setUpTeeActors
-
Methods inherited from class adams.flow.control.AbstractTee
accepts, actorsTipText, add, add, asynchronousTipText, backupState, check, cleanUp, currentInput, doExecute, execute, finishBeforeStoppingTipText, finishedAsynchronousExecution, flushExecution, forceVariables, generates, get, getActors, getAsynchronous, getFinishBeforeStopping, getInternalActors, getMinimumActiveActors, getQuickInfo, getStoppingTimeout, hasInput, hasPendingOutput, indexOf, initialize, input, output, processInput, remove, removeAll, restoreState, set, setActors, setAsynchronous, setFinishBeforeStopping, setLoggingLevel, setMinimumActiveActors, setSkip, setStoppingTimeout, setUpSubActors, size, stopExecution, stoppingTimeoutTipText, updateParent, waitForAsynchronousExecution, wrapUp
-
Methods inherited from class adams.flow.control.AbstractControlActor
active, canInspectOptions, destroy, firstActive, firstInputConsumer, flowPauseStateChanged, isPaused, isSubFlowWrappedUp, lastActive, pauseExecution, preExecute, reset, resumeExecution, setParent, setUp, wrapUpSubFlow
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canPerformSetUpCheck, compareTo, configureLogger, equals, finalUpdateVariables, findVariables, findVariables, 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, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setSilent, 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, 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
-
-
-
-
Field Detail
-
m_Executable
protected adams.core.io.PlaceholderFile m_Executable
the keytool executable.
-
m_AdditionalOptions
protected String m_AdditionalOptions
additional options for keytool.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Overrides:
globalInfo
in classadams.flow.control.Tee
- Returns:
- a description suitable for displaying in the gui
-
getClassCrossReferences
public Class[] getClassCrossReferences()
Returns the cross-referenced classes.- Specified by:
getClassCrossReferences
in interfaceadams.core.ClassCrossReference
- Returns:
- the classes
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.control.AbstractTee
-
getKeytoolExecutablePath
protected String getKeytoolExecutablePath()
Returns the full path of the JMap executable, if possible.- Returns:
- the full path of the executable if possible, otherwise just the executable
-
setExecutable
public void setExecutable(adams.core.io.PlaceholderFile value)
Sets the keytool executable.- Parameters:
value
- the executable
-
getExecutable
public adams.core.io.PlaceholderFile getExecutable()
Returns the keytool executable.- Returns:
- the executable
-
executableTipText
public String executableTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAdditionalOptions
public void setAdditionalOptions(String value)
Sets the additional options for keytool.- Parameters:
value
- the additional options
-
getAdditionalOptions
public String getAdditionalOptions()
Returns the additional options for keytool.- Returns:
- the additional options
-
additionalOptionsTipText
public String additionalOptionsTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
canProcessInput
protected boolean canProcessInput(adams.flow.core.Token token)
Returns whether the token can be processed in the tee actor.- Overrides:
canProcessInput
in classadams.flow.control.AbstractTee
- Parameters:
token
- the token to process- Returns:
- true if token can be processed
-
createTeeToken
protected adams.flow.core.Token createTeeToken(adams.flow.core.Token token)
Creates the token to tee-off.- Overrides:
createTeeToken
in classadams.flow.control.AbstractTee
- Parameters:
token
- the input token- Returns:
- the token to tee-off
-
-