org.apache.tools.ant.types.selectors

Class PresentSelector

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
static classPresentSelector.FilePresence
Enumerated attribute with the values for indicating where a file's presence is allowed and required.
Constructor Summary
PresentSelector()
Creates a new PresentSelector instance.
Method Summary
voidaddConfigured(FileNameMapper fileNameMapper)
Add a configured FileNameMapper instance.
MappercreateMapper()
Defines the FileNameMapper to use (nested mapper element).
booleanisSelected(File basedir, String filename, 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(File targetdir)
The name of the file or directory which is checked for matching files.
StringtoString()
voidverifySettings()
Checks to make sure all settings are kosher.

Constructor Detail

PresentSelector

public PresentSelector()
Creates a new PresentSelector instance.

Method Detail

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

createMapper

public Mapper createMapper()
Defines the FileNameMapper to use (nested mapper element).

Returns: a mapper to be configured

Throws: BuildException if more than one mapper defined

isSelected

public boolean isSelected(File basedir, String filename, 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.

Parameters: basedir the base directory the scan is being done from filename is the name of the file to check file is a java.io.File object the selector can use

Returns: whether the file should be selected or not

setPresent

public void setPresent(PresentSelector.FilePresence fp)
This sets whether to select a file if its dest file is present. It could be a negate 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 a destonly option.

Parameters: fp An attribute set to either srconlyboth.

setTargetdir

public void setTargetdir(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.

toString

public String toString()

Returns: a string describing this object

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.