Class AbstractSyncTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.commons.vfs2.tasks.VfsTask
org.apache.commons.vfs2.tasks.AbstractSyncTask
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
CopyTask

public abstract class AbstractSyncTask extends VfsTask
An abstract file synchronization task. Scans a set of source files and folders, and a destination folder, and performs actions on missing and out-of-date files. Specifically, performs actions on the following:
  • Missing destination file.
  • Missing source file.
  • Out-of-date destination file.
  • Up-to-date destination file.
  • TODO - Deal with case where dest file maps to a child of one of the source files.
  • TODO - Deal with case where dest file already exists and is incorrect type (not file, not a folder).
  • TODO - Use visitors.
  • TODO - Add default excludes.
  • TODO - Allow selector, mapper, filters, etc to be specified.
  • TODO - Handle source/dest directories as well.
  • TODO - Allow selector to be specified for choosing which dest files to sync.
  • Nested Class Summary Link icon

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Information about a source file.
  • Field Summary Link icon

    Fields inherited from class org.apache.tools.ant.Task Link icon

    target, taskName, taskType, wrapper

    Fields inherited from class org.apache.tools.ant.ProjectComponent Link icon

    description, location, project
  • Constructor Summary Link icon

    Constructors
    Constructor
    Description
    Constructs a new instance.
  • Method Summary Link icon

    Modifier and Type
    Method
    Description
    void
    Adds a nested <src> element.
    protected boolean
    Check if this task cares about destination files with a missing source file.
    void
    Executes this task.
    protected void
    Handles a destination for which there is no corresponding source file.
    protected void
    Handles an out-of-date file.
    protected void
    Handles an up-to-date file.
    boolean
    Sets whether we should fail if there was an error or not.
    protected void
    logOrDie(String message, int level)
    Logs a message or throws a BuildException depending on isFailonerror().
    void
    setDestDir(String destDirUrl)
    Sets the destination directory.
    void
    setDestFile(String destFileUrl)
    Sets the destination file.
    void
    setFailonerror(boolean failOnError)
    Sets whether we should fail if there was an error or not.
    void
    setIncludes(String filesList)
    Sets the files to includes.
    void
    setSrc(String srcFile)
    Sets the source file.
    void
    setSrcDir(String srcDirUrl)
    Sets the source directory.
    void
    setSrcDirIsBase(boolean srcDirIsBase)
    Sets whether the source directory should be considered as the base directory.

    Methods inherited from class org.apache.commons.vfs2.tasks.VfsTask Link icon

    closeManager, resolveFile

    Methods inherited from class org.apache.tools.ant.Task Link icon

    bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

    Methods inherited from class org.apache.tools.ant.ProjectComponent Link icon

    clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject

    Methods inherited from class java.lang.Object Link icon

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details Link icon

  • Method Details Link icon

    • addConfiguredSrc Link icon

      public void addConfiguredSrc(AbstractSyncTask.SourceInfo srcInfo) throws org.apache.tools.ant.BuildException
      Adds a nested <src> element.
      Parameters:
      srcInfo - A nested source element.
      Throws:
      org.apache.tools.ant.BuildException - if the SourceInfo doesn't reference a file.
    • detectMissingSourceFiles Link icon

      protected boolean detectMissingSourceFiles()
      Check if this task cares about destination files with a missing source file.

      This implementation returns false.

      Returns:
      True if missing file is detected.
    • execute Link icon

      public void execute() throws org.apache.tools.ant.BuildException
      Executes this task.
      Overrides:
      execute in class org.apache.tools.ant.Task
      Throws:
      org.apache.tools.ant.BuildException - if an error occurs.
    • handleMissingSourceFile Link icon

      protected void handleMissingSourceFile(FileObject destFile) throws Exception
      Handles a destination for which there is no corresponding source file.

      This implementation does nothing.

      Parameters:
      destFile - The existing destination file.
      Throws:
      Exception - Implementation can throw any Exception.
    • handleOutOfDateFile Link icon

      protected void handleOutOfDateFile(FileObject srcFile, FileObject destFile) throws Exception
      Handles an out-of-date file.

      This is a file where the destination file either doesn't exist, or is older than the source file.

      This implementation does nothing.

      Parameters:
      srcFile - The source file.
      destFile - The destination file.
      Throws:
      Exception - Implementation can throw any Exception.
    • handleUpToDateFile Link icon

      protected void handleUpToDateFile(FileObject srcFile, FileObject destFile) throws Exception
      Handles an up-to-date file.

      This is where the destination file exists and is newer than the source file.

      This implementation does nothing.

      Parameters:
      srcFile - The source file.
      destFile - The destination file.
      Throws:
      Exception - Implementation can throw any Exception.
    • isFailonerror Link icon

      public boolean isFailonerror()
      Sets whether we should fail if there was an error or not.
      Returns:
      true if the operation should fail if there was an error.
    • logOrDie Link icon

      protected void logOrDie(String message, int level)
      Logs a message or throws a BuildException depending on isFailonerror().
      Parameters:
      message - The message to using in logging or BuildException.
      level - The log level.
    • setDestDir Link icon

      public void setDestDir(String destDirUrl)
      Sets the destination directory.
      Parameters:
      destDirUrl - The destination directory.
    • setDestFile Link icon

      public void setDestFile(String destFileUrl)
      Sets the destination file.
      Parameters:
      destFileUrl - The destination file name.
    • setFailonerror Link icon

      public void setFailonerror(boolean failOnError)
      Sets whether we should fail if there was an error or not.
      Parameters:
      failOnError - true if the operation should fail if there is an error.
    • setIncludes Link icon

      public void setIncludes(String filesList)
      Sets the files to includes.
      Parameters:
      filesList - The list of files to include.
    • setSrc Link icon

      public void setSrc(String srcFile)
      Sets the source file.
      Parameters:
      srcFile - The source file name.
    • setSrcDir Link icon

      public void setSrcDir(String srcDirUrl)
      Sets the source directory.
      Parameters:
      srcDirUrl - The source directory.
    • setSrcDirIsBase Link icon

      public void setSrcDirIsBase(boolean srcDirIsBase)
      Sets whether the source directory should be considered as the base directory.
      Parameters:
      srcDirIsBase - true if the source directory is the base directory.