Package adams.flow.standalone
Class KeyManager
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.standalone.AbstractStandalone
-
- adams.flow.standalone.KeyManager
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.ErrorHandler
,adams.flow.core.InteractiveActor
,adams.flow.core.KeyManagerFactoryProvider
,adams.flow.core.OptionalPasswordPrompt
,adams.flow.core.StopModeSupporter
,Serializable
,Comparable
public class KeyManager extends adams.flow.standalone.AbstractStandalone implements adams.flow.core.OptionalPasswordPrompt, adams.flow.core.KeyManagerFactoryProvider
Initializes a KeyManagerFactory instance using the specified keystore file and algorithm.
For keystore types, please refer to:
https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#keystore-types
-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: KeyManager
-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
-keystore-type <java.lang.String> (property: keystoreType) The type of the keystore, eg PKCS12 or JKS. default: PKCS12
-keystore-file <adams.core.io.PlaceholderFile> (property: keystoreFile) The location of the keystore. default: ${CWD}
-keystore-passphrase <adams.core.base.BasePassword> (property: keystorePassphrase) The passphrase for the keystore file, ignored if empty.
-prompt-for-password <boolean> (property: promptForPassword) If enabled, the user gets prompted for enter a password if none has been provided in the setup. default: false
-stop-if-canceled <boolean> (property: stopFlowIfCanceled) If enabled, the flow gets stopped in case the user cancels the dialog. default: false
-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:
-stop-mode <GLOBAL|STOP_RESTRICTOR> (property: stopMode) The stop mode to use. default: GLOBAL
-algorithm <java.lang.String> (property: algorithm) The algorithm to use. default: SunX509
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.core.base.BasePassword
m_ActualPassphrase
the actual password to use.protected String
m_Algorithm
the algorithm to use.protected String
m_CustomStopMessage
the custom stop message to use if flow gets stopped due to cancelation.protected KeyManagerFactory
m_KeyManagerFactory
the key manager factory in use.protected adams.core.io.PlaceholderFile
m_KeystoreFile
the location of the keystore.protected adams.core.base.BasePassword
m_KeystorePassphrase
the passphrase for the keystore file.protected String
m_KeystoreType
the keystore type.protected boolean
m_PromptForPassword
whether to prompt the user for a password if none provided.protected boolean
m_StopFlowIfCanceled
whether to stop the flow if canceled.protected adams.flow.core.StopMode
m_StopMode
how to perform the stop.-
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 KeyManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
algorithmTipText()
Returns the tip text for this property.String
customStopMessageTipText()
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
doInteract()
Performs the interaction with the user.String
doInteractHeadless()
Performs the interaction with the user in a headless environment.String
getAlgorithm()
Returns the algorithm to use.String
getCustomStopMessage()
Returns the custom message to use when stopping the flow.KeyManagerFactory
getKeyManagerFactory()
Returns the KeyManagerFactory instance.adams.core.io.PlaceholderFile
getKeystoreFile()
Returns the location of the keystore file.adams.core.base.BasePassword
getKeystorePassphrase()
Returns the passphrase for the keystore file, ignored if empty.String
getKeystoreType()
Returns the type of the keystore.boolean
getPromptForPassword()
Returns whether to prompt for a password if none currently provided.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.boolean
getStopFlowIfCanceled()
Returns whether to stop the flow if dialog canceled.adams.flow.core.StopMode
getStopMode()
Returns the stop mode.String
globalInfo()
Returns a string describing the object.String
keystoreFileTipText()
Returns the tip text for this property.String
keystorePassphraseTipText()
Returns the tip text for this property.String
keystoreTypeTipText()
Returns the tip text for this property.String
promptForPasswordTipText()
Returns the tip text for this property.protected void
reset()
Resets the scheme.void
setAlgorithm(String value)
Sets the algorithm to use.void
setCustomStopMessage(String value)
Sets the custom message to use when stopping the flow.void
setKeystoreFile(adams.core.io.PlaceholderFile value)
Sets the location of the keystore file.void
setKeystorePassphrase(adams.core.base.BasePassword value)
Sets the passphrase for the keystore file, ignored if empty.void
setKeystoreType(String value)
Sets the type of the keystore.void
setPromptForPassword(boolean value)
Sets whether to prompt for a password if none currently provided.void
setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.void
setStopMode(adams.flow.core.StopMode value)
Sets the stop mode.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.-
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, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, 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
-
-
-
-
Field Detail
-
m_KeystoreType
protected String m_KeystoreType
the keystore type.
-
m_KeystoreFile
protected adams.core.io.PlaceholderFile m_KeystoreFile
the location of the keystore.
-
m_KeystorePassphrase
protected adams.core.base.BasePassword m_KeystorePassphrase
the passphrase for the keystore file.
-
m_ActualPassphrase
protected adams.core.base.BasePassword m_ActualPassphrase
the actual password to use.
-
m_PromptForPassword
protected boolean m_PromptForPassword
whether to prompt the user for a password if none provided.
-
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 adams.flow.core.StopMode m_StopMode
how to perform the stop.
-
m_Algorithm
protected String m_Algorithm
the algorithm to use.
-
m_KeyManagerFactory
protected transient KeyManagerFactory m_KeyManagerFactory
the key manager factory in use.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- 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 interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.core.AbstractActor
-
reset
protected void reset()
Resets the scheme.- Overrides:
reset
in classadams.flow.core.AbstractActor
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceadams.flow.core.Actor
- Specified by:
getQuickInfo
in interfaceadams.core.QuickInfoSupporter
- Overrides:
getQuickInfo
in classadams.flow.core.AbstractActor
- Returns:
- null if no info available, otherwise short string
-
setKeystoreType
public void setKeystoreType(String value)
Sets the type of the keystore.- Parameters:
value
- the type
-
getKeystoreType
public String getKeystoreType()
Returns the type of the keystore.- Returns:
- the type
-
keystoreTypeTipText
public String keystoreTypeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setKeystoreFile
public void setKeystoreFile(adams.core.io.PlaceholderFile value)
Sets the location of the keystore file.- Parameters:
value
- the key file
-
getKeystoreFile
public adams.core.io.PlaceholderFile getKeystoreFile()
Returns the location of the keystore file.- Returns:
- the key file
-
keystoreFileTipText
public String keystoreFileTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setKeystorePassphrase
public void setKeystorePassphrase(adams.core.base.BasePassword value)
Sets the passphrase for the keystore file, ignored if empty.- Parameters:
value
- the passphrase
-
getKeystorePassphrase
public adams.core.base.BasePassword getKeystorePassphrase()
Returns the passphrase for the keystore file, ignored if empty.- Returns:
- the passphrase
-
keystorePassphraseTipText
public String keystorePassphraseTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPromptForPassword
public void setPromptForPassword(boolean value)
Sets whether to prompt for a password if none currently provided.- Specified by:
setPromptForPassword
in interfaceadams.flow.core.OptionalPasswordPrompt
- Parameters:
value
- true if to prompt for a password
-
getPromptForPassword
public boolean getPromptForPassword()
Returns whether to prompt for a password if none currently provided.- Specified by:
getPromptForPassword
in interfaceadams.flow.core.OptionalPasswordPrompt
- Returns:
- true if to prompt for a password
-
promptForPasswordTipText
public String promptForPasswordTipText()
Returns the tip text for this property.- Specified by:
promptForPasswordTipText
in interfaceadams.flow.core.OptionalPasswordPrompt
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStopFlowIfCanceled
public void setStopFlowIfCanceled(boolean value)
Sets whether to stop the flow if dialog canceled.- Specified by:
setStopFlowIfCanceled
in interfaceadams.flow.core.InteractiveActor
- 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 interfaceadams.flow.core.InteractiveActor
- 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 interfaceadams.flow.core.InteractiveActor
- 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 interfaceadams.flow.core.InteractiveActor
- Parameters:
value
- the stop message
-
getCustomStopMessage
public String getCustomStopMessage()
Returns the custom message to use when stopping the flow.- Specified by:
getCustomStopMessage
in interfaceadams.flow.core.InteractiveActor
- Returns:
- the stop message
-
customStopMessageTipText
public String customStopMessageTipText()
Returns the tip text for this property.- Specified by:
customStopMessageTipText
in interfaceadams.flow.core.InteractiveActor
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setStopMode
public void setStopMode(adams.flow.core.StopMode value)
Sets the stop mode.- Specified by:
setStopMode
in interfaceadams.flow.core.StopModeSupporter
- Parameters:
value
- the mode
-
getStopMode
public adams.flow.core.StopMode getStopMode()
Returns the stop mode.- Specified by:
getStopMode
in interfaceadams.flow.core.StopModeSupporter
- Returns:
- the mode
-
stopModeTipText
public String stopModeTipText()
Returns the tip text for this property.- Specified by:
stopModeTipText
in interfaceadams.flow.core.StopModeSupporter
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAlgorithm
public void setAlgorithm(String value)
Sets the algorithm to use.- Parameters:
value
- the algorithm
-
getAlgorithm
public String getAlgorithm()
Returns the algorithm to use.- Returns:
- the algorithm
-
algorithmTipText
public String algorithmTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
doInteract
public String doInteract()
Performs the interaction with the user.- Specified by:
doInteract
in interfaceadams.flow.core.InteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
supportsHeadlessInteraction
public boolean supportsHeadlessInteraction()
Returns whether headless interaction is supported.- Specified by:
supportsHeadlessInteraction
in interfaceadams.flow.core.InteractiveActor
- 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 interfaceadams.flow.core.InteractiveActor
- Returns:
- null if successfully interacted, otherwise error message
-
getKeyManagerFactory
public KeyManagerFactory getKeyManagerFactory()
Returns the KeyManagerFactory instance.- Specified by:
getKeyManagerFactory
in interfaceadams.flow.core.KeyManagerFactoryProvider
- Returns:
- the instance, null if none available
-
doExecute
protected String doExecute()
Executes the flow item.- Specified by:
doExecute
in classadams.flow.core.AbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-