Class Run

  • All Implemented Interfaces:
    adams.core.CleanUpHandler, adams.core.command.AsyncCapableExternalCommand, adams.core.command.ExternalCommand, adams.core.command.ExternalCommandWithOptions, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, DockerCommand, adams.flow.core.FlowContextHandler, Serializable
    Direct Known Subclasses:
    RunWithArgs

    public class Run
    extends AbstractDockerCommandWithOptions
    Performs the 'docker run' command in either blocking or async fashion. The latter is useful for long-running commands as it supports incremental output.
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected PullType m_PullType
      how to pull.
      protected boolean m_RemoveContainer
      whether to remove the container after execution.
      protected boolean m_RunAsUser
      whether to run in user context (-u $(id -u):$(id -g)).
      • Fields inherited from class adams.core.command.AbstractAsyncCapableExternalCommandWithOptions

        m_Options, m_OptionsString
      • Fields inherited from class adams.core.command.AbstractAsyncCapableExternalCommand

        m_Blocking, m_ProcessOutput
      • Fields inherited from class adams.core.command.AbstractExternalCommand

        m_Executed, m_FlowContext, m_LastCommand, m_Output, m_OutputFormatter, m_OutputType, m_Running, m_StdErrProcessor, m_StdOutProcessor, m_Stopped
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Constructor Summary

      Constructors 
      Constructor Description
      Run()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected List<String> buildCommand()
      Assembles the command to run.
      protected String check()
      Hook method for performing checks before executing the command.
      void defineOptions()
      Adds options to the internal list of options.
      PullType getActualPullType()
      Returns the pull type to use.
      PullType getPullType()
      Returns how to pull the image (overriding setting from SimpleDockerConnection).
      String getQuickInfo()
      Returns a quick info about the actor, which will be displayed in the GUI.
      boolean getRemoveContainer()
      Returns whether to remove the container after execution.
      boolean getRunAsUser()
      Returns whether to run the container as the current user rather than root.
      String globalInfo()
      Returns a string describing the object.
      String pullTypeTipText()
      Returns the tip text for this property.
      String removeContainerTipText()
      Returns the tip text for this property.
      String runAsUserTipText()
      Returns the tip text for this property.
      void setPullType​(PullType value)
      Sets how to pull the image (overriding setting from SimpleDockerConnection).
      void setRemoveContainer​(boolean value)
      Sets whether to remove the container after execution.
      void setRunAsUser​(boolean value)
      Sets whether to run the container as the current user rather than root.
      • Methods inherited from class adams.core.command.AbstractAsyncCapableExternalCommandWithOptions

        getActualOptions, getOptions, getOptionsString, optionsStringTipText, optionsTipText, setOptions, setOptions, setOptions, setOptionsString, setOptionsString
      • Methods inherited from class adams.core.command.AbstractAsyncCapableExternalCommand

        addStdErr, addStdOut, blockingTipText, doAsyncExecute, getBlocking, getDefaultBlocking, isFinished, isUsingBlocking, setBlocking, stopExecution
      • Methods inherited from class adams.core.command.AbstractExternalCommand

        addFormattedOutput, commandResultToError, execute, generates, getDefaultOutputFormatter, getDefaultOutputType, getDefaultStdErrProcessor, getDefaultStdOutProcessor, getFlowContext, getLastCommand, getOutputFormatter, getOutputType, getStdErrProcessor, getStdOutProcessor, hasLastCommand, hasOutput, initialize, isExecuted, isRunning, isStopped, log, log, log, output, outputFormatterTipText, outputTypeTipText, reset, setFlowContext, setOutputFormatter, setOutputType, setStdErrProcessor, setStdOutProcessor, stdErrProcessorTipText, stdOutProcessorTipText
      • Methods inherited from class adams.core.option.AbstractOptionHandler

        cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.command.AsyncCapableExternalCommand

        addStdErr, addStdOut, blockingTipText, getBlocking, setBlocking
      • Methods inherited from interface adams.core.Destroyable

        destroy
      • Methods inherited from interface adams.core.command.ExternalCommand

        addFormattedOutput, execute, generates, getLastCommand, getOutputFormatter, getOutputType, getStdErrProcessor, getStdOutProcessor, hasLastCommand, hasOutput, isExecuted, isFinished, isRunning, isUsingBlocking, output, outputFormatterTipText, outputTypeTipText, setOutputFormatter, setOutputType, setStdErrProcessor, setStdOutProcessor, stdErrProcessorTipText, stdOutProcessorTipText
      • Methods inherited from interface adams.flow.core.FlowContextHandler

        getFlowContext, setFlowContext
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
      • Methods inherited from interface adams.core.option.OptionHandler

        cleanUpOptions, getOptionManager, toCommandLine
      • Methods inherited from interface adams.core.Stoppable

        stopExecution
      • Methods inherited from interface adams.core.StoppableWithFeedback

        isStopped
    • Field Detail

      • m_RemoveContainer

        protected boolean m_RemoveContainer
        whether to remove the container after execution.
      • m_RunAsUser

        protected boolean m_RunAsUser
        whether to run in user context (-u $(id -u):$(id -g)).
      • m_PullType

        protected PullType m_PullType
        how to pull.
    • Constructor Detail

      • Run

        public Run()
    • Method Detail

      • globalInfo

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

        public String getQuickInfo()
        Returns a quick info about the actor, which will be displayed in the GUI.
        Specified by:
        getQuickInfo in interface adams.core.QuickInfoSupporter
        Overrides:
        getQuickInfo in class adams.core.command.AbstractAsyncCapableExternalCommandWithOptions
        Returns:
        null if no info available, otherwise short string
      • setRemoveContainer

        public void setRemoveContainer​(boolean value)
        Sets whether to remove the container after execution.
        Parameters:
        value - true if to remove
      • getRemoveContainer

        public boolean getRemoveContainer()
        Returns whether to remove the container after execution.
        Returns:
        true if to remove
      • removeContainerTipText

        public String removeContainerTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setRunAsUser

        public void setRunAsUser​(boolean value)
        Sets whether to run the container as the current user rather than root.
        Parameters:
        value - true if to run as user
      • getRunAsUser

        public boolean getRunAsUser()
        Returns whether to run the container as the current user rather than root.
        Returns:
        true if to run as user
      • runAsUserTipText

        public String runAsUserTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setPullType

        public void setPullType​(PullType value)
        Sets how to pull the image (overriding setting from SimpleDockerConnection).
        Parameters:
        value - the type
      • pullTypeTipText

        public String pullTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • getActualPullType

        public PullType getActualPullType()
        Returns the pull type to use.
        Returns:
        the type