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:
Cloneable
- Direct Known Subclasses:
CopyTask
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
Nested ClassesModifier and TypeClassDescriptionstatic class
Information about a source file. -
Field Summary
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a nested <src> element.protected boolean
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
Sets whether we should fail if there was an error or not.protected void
Logs a message or throws aBuildException
depending onisFailonerror()
.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
Sets the source file.void
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
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
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Constructor Details
-
AbstractSyncTask
public AbstractSyncTask()Constructs a new instance.
-
-
Method Details
-
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.
-
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
Executes this task.- Overrides:
execute
in classorg.apache.tools.ant.Task
- Throws:
org.apache.tools.ant.BuildException
- if an error occurs.
-
handleMissingSourceFile
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
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
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
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
Logs a message or throws aBuildException
depending onisFailonerror()
.- Parameters:
message
- The message to using in logging or BuildException.level
- The log level.
-
setDestDir
Sets the destination directory.- Parameters:
destDirUrl
- The destination directory.
-
setDestFile
Sets the destination file.- Parameters:
destFileUrl
- The destination file name.
-
setFailonerror
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
Sets the files to includes.- Parameters:
filesList
- The list of files to include.
-
setSrc
Sets the source file.- Parameters:
srcFile
- The source file name.
-
setSrcDir
Sets the source directory.- Parameters:
srcDirUrl
- The source directory.
-
setSrcDirIsBase
Sets whether the source directory should be considered as the base directory.- Parameters:
srcDirIsBase
- true if the source directory is the base directory.
-