org.apache.tools.ant.types.selectors
Class DifferentSelector
java.lang.Object
|
+--org.apache.tools.ant.ProjectComponent
|
+--org.apache.tools.ant.types.DataType
|
+--org.apache.tools.ant.types.selectors.BaseSelector
|
+--org.apache.tools.ant.types.selectors.MappingSelector
|
+--org.apache.tools.ant.types.selectors.DifferentSelector
- All Implemented Interfaces:
- FileSelector
- public class DifferentSelector
- extends MappingSelector
This selector selects files against a mapped set of target files, selecting
all those files which are different. A byte-by-byte comparision is performed
on equal length files; files with different lengths are deemed different
automatically; files with identical timestamps are viewed as matching by
default, unless you specify otherwise.
This is a useful selector to work with programs and tasks that don't handle
dependency checking properly; Even if a predecessor task always creates its
output files, followup tasks can be driven off copies made with a different
selector, so their dependencies are driven on the absolute state of the
files, not a timestamp.
Clearly, however, bulk file comparisons is inefficient; anything that can
use timestamps is to be preferred. If this selector must be used, use it
over as few files as possible, perhaps following it with an <uptodate;>
to keep the descendent routines conditional.
Method Summary |
protected boolean |
selectionTest(java.io.File srcfile,
java.io.File destfile)
this test is our selection test that compared the file with the destfile |
void |
setIgnoreFileTimes(boolean ignoreFileTimes)
This flag tells the selector to ignore file times in the comparison |
Methods inherited from class org.apache.tools.ant.types.DataType |
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, setDescription, setRefid, tooManyAttributes |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DifferentSelector
public DifferentSelector()
setIgnoreFileTimes
public void setIgnoreFileTimes(boolean ignoreFileTimes)
- This flag tells the selector to ignore file times in the comparison
- Parameters:
ignoreFileTimes
- if true ignore file times
selectionTest
protected boolean selectionTest(java.io.File srcfile,
java.io.File destfile)
- this test is our selection test that compared the file with the destfile
- Specified by:
selectionTest
in class MappingSelector
- Parameters:
srcfile
- the source filedestfile
- the destination file
- Returns:
- true if the files are different
Copyright © 2000-2004 Apache Software Foundation. All Rights Reserved.