Class PresentSelector
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.PresentSelector
- All Implemented Interfaces:
java.lang.Cloneable
,ResourceSelector
,FileSelector
public class PresentSelector extends BaseSelector
Selector that filters files based on whether they appear in another
directory tree. It can contain a mapper element, so isn't available
as an ExtendSelector (since those parameters can't hold other
elements).
- Since:
- 1.5
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PresentSelector.FilePresence
Enumerated attribute with the values for indicating where a file's presence is allowed and required. -
Field Summary
-
Constructor Summary
Constructors Constructor Description PresentSelector()
-
Method Summary
Modifier and Type Method Description void
addConfigured(FileNameMapper fileNameMapper)
Add a configured FileNameMapper instance.Mapper
createMapper()
Defines the FileNameMapper to use (nested mapper element).boolean
isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)
The heart of the matter.void
setPresent(PresentSelector.FilePresence fp)
This sets whether to select a file if its dest file is present.void
setTargetdir(java.io.File targetdir)
The name of the file or directory which is checked for matching files.java.lang.String
toString()
Basic DataType toString().void
verifySettings()
Checks to make sure all settings are kosher.Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, setError, validate
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
-
Constructor Details
-
PresentSelector
public PresentSelector()
-
-
Method Details
-
toString
public java.lang.String toString()Description copied from class:DataType
Basic DataType toString(). -
setTargetdir
public void setTargetdir(java.io.File targetdir)The name of the file or directory which is checked for matching files.- Parameters:
targetdir
- the directory to scan looking for matching files.
-
createMapper
Defines the FileNameMapper to use (nested mapper element).- Returns:
- a mapper to be configured
- Throws:
BuildException
- if more than one mapper defined
-
addConfigured
Add a configured FileNameMapper instance.- Parameters:
fileNameMapper
- the FileNameMapper to add- Throws:
BuildException
- if more than one mapper defined- Since:
- Ant 1.8.0
-
setPresent
This sets whether to select a file if its dest file is present. It could be anegate
boolean, but by doing things this way, we get some documentation on how the system works. A user looking at the documentation should clearly understand that the ONLY files whose presence is being tested are those that already exist in the source directory, hence the lack of adestonly
option.- Parameters:
fp
- An attribute set to eithersrconly
orboth
.
-
verifySettings
public void verifySettings()Checks to make sure all settings are kosher. In this case, it means that the targetdir attribute has been set and we have a mapper.- Overrides:
verifySettings
in classBaseSelector
-
isSelected
public boolean isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)The heart of the matter. This is where the selector gets to decide on the inclusion of a file in a particular fileset.- Specified by:
isSelected
in interfaceFileSelector
- Specified by:
isSelected
in classBaseSelector
- Parameters:
basedir
- the base directory the scan is being done fromfilename
- is the name of the file to checkfile
- is a java.io.File object the selector can use- Returns:
- whether the file should be selected or not
-