Class AbstractDockerCommand

  • All Implemented Interfaces:
    adams.core.CleanUpHandler, adams.core.command.AsyncCapableExternalCommand, adams.core.command.ExternalCommand, 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:
    Info, KillContainers, PauseContainers, PruneContainers, PruneImages, Push

    public abstract class AbstractDockerCommand
    extends adams.core.command.AbstractAsyncCapableExternalCommand
    implements DockerCommand
    Ancestor for docker commands.
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected SimpleDockerConnection m_Connection
      the docker connection.
      • 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
    • 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 cleanUp()
      Cleans up data structures, frees up memory.
      protected Object doBlockingExecute()
      Executes the command.
      protected adams.core.management.CommandResult doBlockingExecute​(List<String> cmd)
      Executes the specified command in blocking fashion.
      SimpleDockerConnection getConnection()
      Returns the docker connection in use.
      void setConnection​(SimpleDockerConnection value)
      Sets the docker connection to use.
      • Methods inherited from class adams.core.command.AbstractAsyncCapableExternalCommand

        addStdErr, addStdOut, blockingTipText, defineOptions, doAsyncExecute, getBlocking, getDefaultBlocking, getQuickInfo, 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, globalInfo, 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, defineOptions, getOptionManager, toCommandLine
      • Methods inherited from interface adams.core.QuickInfoSupporter

        getQuickInfo
      • Methods inherited from interface adams.core.Stoppable

        stopExecution
      • Methods inherited from interface adams.core.StoppableWithFeedback

        isStopped
    • Constructor Detail

      • AbstractDockerCommand

        public AbstractDockerCommand()
    • Method Detail

      • check

        protected String check()
        Hook method for performing checks before executing the command.
        Overrides:
        check in class adams.core.command.AbstractExternalCommand
        Returns:
        null if successful, otherwise error message
      • buildCommand

        protected List<String> buildCommand()
        Assembles the command to run.
        Overrides:
        buildCommand in class adams.core.command.AbstractExternalCommand
        Returns:
        the command
      • doBlockingExecute

        protected adams.core.management.CommandResult doBlockingExecute​(List<String> cmd)
        Executes the specified command in blocking fashion.
        Parameters:
        cmd - the command to execute
        Returns:
        the generated output
      • doBlockingExecute

        protected Object doBlockingExecute()
        Executes the command.
        Overrides:
        doBlockingExecute in class adams.core.command.AbstractAsyncCapableExternalCommand
        Returns:
        the result of the command, either a CommandResult or a String object (= error message)
      • cleanUp

        public void cleanUp()
        Cleans up data structures, frees up memory.
        Specified by:
        cleanUp in interface adams.core.CleanUpHandler
        Specified by:
        cleanUp in interface adams.core.command.ExternalCommand
        Overrides:
        cleanUp in class adams.core.command.AbstractExternalCommand