Class 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
    • Nested Class Summary

      • Nested classes/interfaces inherited from class adams.flow.control.AbstractTee

        adams.flow.control.AbstractTee.TeeSwingWorker
    • 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
      • 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
    • 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 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.flow.core.ActorHandler

        firstActive, lastActive
      • 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.core.VariablesInspectionHandler

        canInspectOptions
    • Field Detail

      • m_Executable

        protected adams.core.io.PlaceholderFile m_Executable
        the keytool executable.
      • m_AdditionalOptions

        protected String m_AdditionalOptions
        additional options for keytool.
    • Constructor Detail

      • Keytool

        public Keytool()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Overrides:
        globalInfo in class adams.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 interface adams.core.ClassCrossReference
        Returns:
        the classes
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.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 class adams.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 class adams.flow.control.AbstractTee
        Parameters:
        token - the input token
        Returns:
        the token to tee-off