FileSet (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types, class: FileSet

Package org.apache.tools.ant.types

# Class FileSet

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.AbstractFileSet
org.apache.tools.ant.types.FileSet

All Implemented Interfaces:
  `Cloneable`, `Iterable<Resource>`, `ResourceCollection`, `SelectorContainer`

Direct Known Subclasses:
  `ArchiveFileSet`, `BCFileSet`, `ClassfileSet`, `Javadoc.TagArgument`, `LibFileSet`

public class FileSet extends AbstractFileSet implements ResourceCollection
Moved out of MatchingTask to make it a standalone object that could be referenced (by scripts for example).

- ## Field Summary

  ### Fields inherited from class org.apache.tools.ant.types.DataType

  `checked, ref`

  ### Fields inherited from class org.apache.tools.ant.ProjectComponent

  `description, location, project`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `FileSet()`
  Constructor for FileSet.
  `protected`
  `FileSet(FileSet fileset)`
  Constructor for FileSet, with FileSet to shallowly clone.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  Return a FileSet that has the same basedir and same patternsets as this one.
  `protected AbstractFileSet`
  `getRef(Project p)`
  Performs the check for circular references and returns the referenced FileSet.
  `boolean`
  `isFilesystemOnly()`
  Always returns true.
  `Iterator<Resource>`
  `iterator()`
  Fulfill the ResourceCollection contract.
  `int`
  `size()`
  Fulfill the ResourceCollection contract.

  ### Methods inherited from class org.apache.tools.ant.types.AbstractFileSet

  `add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addExecutable, addFilename, addMajority, addModified, addNone, addNot, addOr, addOwnedBy, addPosixGroup, addPosixPermissions, addPresent, addReadable, addSelector, addSize, addSymlink, addType, addWritable, appendExcludes, appendIncludes, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, dieOnCircularReference, getDefaultexcludes, getDir, getDir, getDirectoryScanner, getDirectoryScanner, getErrorOnMissingDir, getMaxLevelsOfSymlinks, getSelectors, hasPatterns, hasSelectors, isCaseSensitive, isFollowSymlinks, mergeExcludes, mergeIncludes, mergePatterns, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setDir, setErrorOnMissingDir, setExcludes, setExcludesfile, setFile, setFollowSymlinks, setIncludes, setIncludesfile, setMaxLevelsOfSymlinks, setRefid, setupDirectoryScanner, setupDirectoryScanner, toString`

  ### Methods inherited from class org.apache.tools.ant.types.DataType

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, 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 java.lang.Iterable

  `forEach, spliterator`

  ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

  `isEmpty, stream`

- ## Constructor Details

  - ### FileSet

    public FileSet()
    Constructor for FileSet.

  - ### FileSet

    protected FileSet(FileSet fileset)
    Constructor for FileSet, with FileSet to shallowly clone.
    Parameters:
      `fileset` - the fileset to clone

- ## Method Details

  - ### clone

    public Object clone()
    Return a FileSet that has the same basedir and same patternsets as this one.
    Overrides:
      `clone` in class `AbstractFileSet`
    Returns:
      the cloned fileset

  - ### iterator

    public Iterator<Resource> iterator()
    Fulfill the ResourceCollection contract.
    Specified by:
      `iterator` in interface `Iterable<Resource>`
    Returns:
      an Iterator of Resources.
    Since:
      Ant 1.7

  - ### size

    public int size()
    Fulfill the ResourceCollection contract.
    Specified by:
      `size` in interface `ResourceCollection`
    Returns:
      number of elements as int.
    Since:
      Ant 1.7

  - ### isFilesystemOnly

    public boolean isFilesystemOnly()
    Always returns true.
    Specified by:
      `isFilesystemOnly` in interface `ResourceCollection`
    Returns:
      true indicating that all elements will be FileResources.
    Since:
      Ant 1.7

  - ### getRef

    protected AbstractFileSet getRef(Project p)
    Description copied from class: `AbstractFileSet`
    Performs the check for circular references and returns the referenced FileSet. This method can be overridden together with `getRef()` providing implementations containing the special support for FileSet references, which can be handled by all ArchiveFileSets. NB! This method must be overridden in subclasses such as FileSet and DirSet to distinguish between the data types.
    Overrides:
      `getRef` in class `AbstractFileSet`
    Parameters:
      `p` - the current project
    Returns:
      the dereferenced object.