Package org.apache.commons.vfs2.tasks
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:
java.lang.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 already exists and is incorrect type (not file, not a folder).
TODO - Use visitors.
TODO - Add default excludes.
TOOD - 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
Nested Classes Modifier and Type Class Description static class
AbstractSyncTask.SourceInfo
Information about a source file.
-
Constructor Summary
Constructors Constructor Description AbstractSyncTask()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfiguredSrc(AbstractSyncTask.SourceInfo srcInfo)
Adds a nested <src> element.protected boolean
detectMissingSourceFiles()
Check if this task cares about destination files with a missing source file.void
execute()
Executes this task.protected void
handleMissingSourceFile(FileObject destFile)
Handles a destination for which there is no corresponding source file.protected void
handleOutOfDateFile(FileObject srcFile, FileObject destFile)
Handles an out-of-date file.protected void
handleUpToDateFile(FileObject srcFile, FileObject destFile)
Handles an up-to-date file.boolean
isFailonerror()
Sets whether we should fail if there was an error or not.protected void
logOrDie(java.lang.String message, int level)
void
setDestDir(java.lang.String destDir)
Sets the destination directory.void
setDestFile(java.lang.String destFile)
Sets the destination file.void
setFailonerror(boolean failonerror)
Sets whether we should fail if there was an error or not.void
setIncludes(java.lang.String filesList)
Sets the files to includes.void
setSrc(java.lang.String srcFile)
Sets the source file.void
setSrcDir(java.lang.String srcDir)
Sets the source directory.void
setSrcDirIsBase(boolean srcDirIsBase)
Sets whether the source directory should be consider as the base directory.-
Methods inherited from class org.apache.commons.vfs2.tasks.VfsTask
closeManager, resolveFile
-
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
-
-
-
-
Constructor Detail
-
AbstractSyncTask
public AbstractSyncTask()
-
-
Method Detail
-
setDestFile
public void setDestFile(java.lang.String destFile)
Sets the destination file.- Parameters:
destFile
- The destination file name.
-
setDestDir
public void setDestDir(java.lang.String destDir)
Sets the destination directory.- Parameters:
destDir
- The destination directory.
-
setSrc
public void setSrc(java.lang.String srcFile)
Sets the source file.- Parameters:
srcFile
- The source file name.
-
setSrcDir
public void setSrcDir(java.lang.String srcDir)
Sets the source directory.- Parameters:
srcDir
- The source directory.
-
setSrcDirIsBase
public void setSrcDirIsBase(boolean srcDirIsBase)
Sets whether the source directory should be consider as the base directory.- Parameters:
srcDirIsBase
- true if the source directory is the base directory.
-
setFailonerror
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.
-
isFailonerror
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.
-
setIncludes
public void setIncludes(java.lang.String filesList)
Sets the files to includes.- Parameters:
filesList
- The list of files to include.
-
addConfiguredSrc
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.
-
execute
public void execute() throws org.apache.tools.ant.BuildException
Executes this task.- Overrides:
execute
in classorg.apache.tools.ant.Task
- Throws:
org.apache.tools.ant.BuildException
- if an error occurs.
-
logOrDie
protected void logOrDie(java.lang.String message, int level)
-
handleOutOfDateFile
protected void handleOutOfDateFile(FileObject srcFile, FileObject destFile) throws java.lang.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:
java.lang.Exception
- Implementation can throw any Exception.
-
handleUpToDateFile
protected void handleUpToDateFile(FileObject srcFile, FileObject destFile) throws java.lang.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:
java.lang.Exception
- Implementation can throw any Exception.
-
handleMissingSourceFile
protected void handleMissingSourceFile(FileObject destFile) throws java.lang.Exception
Handles a destination for which there is no corresponding source file.This implementation does nothing.
- Parameters:
destFile
- The existing destination file.- Throws:
java.lang.Exception
- Implementation can throw any Exception.
-
detectMissingSourceFiles
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.
-
-