Class PresentSelector

  extended by
      extended by
          extended by
              extended by
All Implemented Interfaces:
java.lang.Cloneable, 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).


Nested Class Summary
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
checked, ref
Fields inherited from class
description, location, project
Constructor Summary
          Creates a new PresentSelector instance.
Method Summary
 Mapper createMapper()
          Defines the FileNameMapper to use (nested mapper element).
 boolean isSelected( basedir, java.lang.String filename, 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( 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
getError, setError, validate
Methods inherited from class
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, setRefid, tooManyAttributes
Methods inherited from class
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public PresentSelector()
Creates a new PresentSelector instance.

Method Detail


public java.lang.String toString()
Description copied from class: DataType
Basic DataType toString().

toString in class DataType
a string describing this object


public void setTargetdir( targetdir)
The name of the file or directory which is checked for matching files.

targetdir - the directory to scan looking for matching files.


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

a mapper to be configured
BuildException - if more that one mapper defined


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.

fp - An attribute set to either srconlyboth.


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.

verifySettings in class BaseSelector


public boolean isSelected( basedir,
                          java.lang.String filename,
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 interface FileSelector
Specified by:
isSelected in class BaseSelector
basedir - the base directory the scan is being done from
filename - is the name of the file to check
file - is a object the selector can use
whether the file should be selected or not