Class FileMover

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.AtomicMoveSupporter, 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<AbstractRatOutput>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, adams.event.VariableChangeListener, RatOutput, Serializable

    public class FileMover
    extends AbstractRatOutput
    implements adams.core.AtomicMoveSupporter
    Moves files into the target directory after a specified time period.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -wait-move <int> (property: waitMove)
        The number of milli-seconds to wait before moving the files.
        default: 0
        minimum: 0
     
    -atomic-move <boolean> (property: atomicMove)
        If true, then an atomic move operation will be attempted (NB: not supported 
        by all operating systems).
        default: false
     
    -target <adams.core.io.PlaceholderDirectory> (property: target)
        The directory to move the files to.
        default: ${CWD}
     
    Version:
    $Revision$
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Target

        protected adams.core.io.PlaceholderDirectory m_Target
        the target directory.
      • m_WaitMove

        protected int m_WaitMove
        the waiting period in msec before moving the files.
      • m_AtomicMove

        protected boolean m_AtomicMove
        whether to perform an atomic move.
    • Constructor Detail

      • FileMover

        public FileMover()
    • 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.option.AbstractOptionHandler
      • setWaitMove

        public void setWaitMove​(int value)
        Sets the number of milli-seconds to wait before moving the files.
        Parameters:
        value - the number of milli-seconds
      • getWaitMove

        public int getWaitMove()
        Returns the number of milli-seconds to wait before moving the files.
        Returns:
        the number of milli-seconds
      • waitMoveTipText

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

        public void setAtomicMove​(boolean value)
        Sets whether to attempt atomic move operation.
        Specified by:
        setAtomicMove in interface adams.core.AtomicMoveSupporter
        Parameters:
        value - if true then attempt atomic move operation
      • getAtomicMove

        public boolean getAtomicMove()
        Returns whether to attempt atomic move operation.
        Specified by:
        getAtomicMove in interface adams.core.AtomicMoveSupporter
        Returns:
        true if to attempt atomic move operation
      • atomicMoveTipText

        public String atomicMoveTipText()
        Returns the tip text for this property.
        Specified by:
        atomicMoveTipText in interface adams.core.AtomicMoveSupporter
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setTarget

        public void setTarget​(adams.core.io.PlaceholderDirectory value)
        Sets the directory to move the files to.
        Parameters:
        value - the target directory
      • getTarget

        public adams.core.io.PlaceholderDirectory getTarget()
        Returns the directory to move the files to.
        Returns:
        the target directory
      • targetTipText

        public String targetTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • 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 AbstractRatOutput
        Returns:
        null if no info available, otherwise short string
      • check

        public String check()
        Hook method for performing checks. Makes sure that directories exist.
        Overrides:
        check in class AbstractRatOutput
        Returns:
        null if successful, otherwise error message
        Throws:
        Exception - if checks fail
      • doTransmit

        protected String doTransmit()
        Performs the actual transmission.
        Specified by:
        doTransmit in class AbstractRatOutput
        Returns:
        null if successful, otherwise error message