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
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Constructor Description PresentSelector()
-
Method Summary
All Methods Instance Methods Concrete Methods 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
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tools.ant.types.selectors.FileSelector
isSelected
-
-
-
-
Method Detail
-
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
public Mapper createMapper() throws BuildException
Defines the FileNameMapper to use (nested mapper element).- Returns:
- a mapper to be configured
- Throws:
BuildException
- if more than one mapper defined
-
addConfigured
public void addConfigured(FileNameMapper fileNameMapper)
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
public void setPresent(PresentSelector.FilePresence fp)
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
-
-