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 classPresentSelector.FilePresenceEnumerated 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
Modifier and Type Method Description voidaddConfigured(FileNameMapper fileNameMapper)Add a configured FileNameMapper instance.MappercreateMapper()Defines the FileNameMapper to use (nested mapper element).booleanisSelected(java.io.File basedir, java.lang.String filename, java.io.File file)The heart of the matter.voidsetPresent(PresentSelector.FilePresence fp)This sets whether to select a file if its dest file is present.voidsetTargetdir(java.io.File targetdir)The name of the file or directory which is checked for matching files.java.lang.StringtoString()Basic DataType toString().voidverifySettings()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:DataTypeBasic 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 anegateboolean, 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 adestonlyoption.- Parameters:
fp- An attribute set to eithersrconlyorboth.
-
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:
verifySettingsin 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:
isSelectedin interfaceFileSelector- Specified by:
isSelectedin 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
-
-