Class PresentSelector

All Implemented Interfaces:
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
  • Constructor Details

    • PresentSelector

      public PresentSelector()
  • Method Details

    • toString

      public String toString()
      Description copied from class: DataType
      Basic DataType toString().
      Overrides:
      toString in class DataType
      Returns:
      a string describing this object
    • 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.
    • 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 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 srconly or both.
    • 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 class BaseSelector
    • 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.
      Specified by:
      isSelected in interface FileSelector
      Specified by:
      isSelected in class BaseSelector
      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