org.apache.tools.ant.types
Class AbstractFileSet

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.AbstractFileSet
All Implemented Interfaces:
java.lang.Cloneable, SelectorContainer
Direct Known Subclasses:
DirSet, FileSet, Sync.SyncTarget

public abstract class AbstractFileSet
extends DataType
implements java.lang.Cloneable, SelectorContainer

Class that holds an implicit patternset and supports nested patternsets and creates a DirectoryScanner using these patterns.

Common base class for DirSet and FileSet.


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
  AbstractFileSet()
          Construct a new AbstractFileSet.
protected AbstractFileSet(AbstractFileSet fileset)
          Construct a new AbstractFileSet, shallowly cloned from the specified AbstractFileSet.
 
Method Summary
 void add(FileSelector selector)
          Add an arbitary selector.
 void addAnd(AndSelector selector)
          Add an "And" selector entry on the selector list.
 void addContains(ContainsSelector selector)
          Add a contains selector entry on the selector list.
 void addContainsRegexp(ContainsRegexpSelector selector)
          Add a regular expression selector entry on the selector list.
 void addCustom(ExtendSelector selector)
          Add an extended selector entry on the selector list.
 void addDate(DateSelector selector)
          Add a selector date entry on the selector list.
 void addDepend(DependSelector selector)
          Add a depends selector entry on the selector list.
 void addDepth(DepthSelector selector)
          Add a depth selector entry on the selector list.
 void addDifferent(DifferentSelector selector)
          Add a DifferentSelector entry on the selector list.
 void addFilename(FilenameSelector selector)
          Add a selector filename entry on the selector list.
 void addMajority(MajoritySelector selector)
          Add a majority selector entry on the selector list.
 void addModified(ModifiedSelector selector)
          Add the modified selector.
 void addNone(NoneSelector selector)
          Add a "None" selector entry on the selector list.
 void addNot(NotSelector selector)
          Add a "Not" selector entry on the selector list.
 void addOr(OrSelector selector)
          Add an "Or" selector entry on the selector list.
 void addPresent(PresentSelector selector)
          Add a present selector entry on the selector list.
 void addSelector(SelectSelector selector)
          Add a "Select" selector entry on the selector list.
 void addSize(SizeSelector selector)
          Add a selector size entry on the selector list.
 void addType(TypeSelector selector)
          Add a selector type entry on the selector list.
 void appendExcludes(java.lang.String[] excludes)
          Appends excludes to the current list of include patterns.
 void appendIncludes(java.lang.String[] includes)
          Appends includes to the current list of include patterns.
 void appendSelector(FileSelector selector)
          Add a new selector into this container.
 java.lang.Object clone()
          Creates a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).
 PatternSet.NameEntry createExclude()
          Add a name entry to the exclude list.
 PatternSet.NameEntry createExcludesFile()
          Add a name entry to the excludes files list.
 PatternSet.NameEntry createInclude()
          Add a name entry to the include list.
 PatternSet.NameEntry createIncludesFile()
          Add a name entry to the include files list.
 PatternSet createPatternSet()
          Creates a nested patternset.
 boolean getDefaultexcludes()
          Whether default exclusions should be used or not.
 java.io.File getDir()
          Retrieves the base-directory for this instance.
 java.io.File getDir(Project p)
          Retrieves the base-directory for this instance.
 DirectoryScanner getDirectoryScanner()
          Returns the directory scanner needed to access the files to process.
 DirectoryScanner getDirectoryScanner(Project p)
          Returns the directory scanner needed to access the files to process.
protected  AbstractFileSet getRef(Project p)
          Performs the check for circular references and returns the referenced FileSet.
 FileSelector[] getSelectors(Project p)
          Returns the set of selectors as an array.
 boolean hasPatterns()
          Indicates whether there are any patterns here.
 boolean hasSelectors()
          Indicates whether there are any selectors here.
 boolean isCaseSensitive()
          Find out if the fileset is case sensitive.
 boolean isFollowSymlinks()
          Find out if the fileset wants to follow symbolic links.
 java.lang.String[] mergeExcludes(Project p)
          Get the merged exclude patterns for this AbstractFileSet.
 java.lang.String[] mergeIncludes(Project p)
          Get the merged include patterns for this AbstractFileSet.
 PatternSet mergePatterns(Project p)
          Get the merged patterns for this AbstractFileSet.
 int selectorCount()
          Gives the count of the number of selectors in this container.
 java.util.Enumeration selectorElements()
          Returns an enumerator for accessing the set of selectors.
 void setCaseSensitive(boolean caseSensitive)
          Sets case sensitivity of the file system.
 void setDefaultexcludes(boolean useDefaultExcludes)
          Sets whether default exclusions should be used or not.
 void setDir(java.io.File dir)
          Sets the base-directory for this instance.
 void setExcludes(java.lang.String excludes)
          Appends excludes to the current list of exclude patterns.
 void setExcludesfile(java.io.File excl)
          Sets the File containing the excludes patterns.
 void setFile(java.io.File file)
          Creates a single file fileset.
 void setFollowSymlinks(boolean followSymlinks)
          Sets whether or not symbolic links should be followed.
 void setIncludes(java.lang.String includes)
          Appends includes to the current list of include patterns.
 void setIncludesfile(java.io.File incl)
          Sets the File containing the includes patterns.
 void setRefid(Reference r)
          Makes this instance in effect a reference to another instance.
 void setupDirectoryScanner(FileScanner ds)
          Set up the specified directory scanner against this AbstractFileSet's Project.
 void setupDirectoryScanner(FileScanner ds, Project p)
          Set up the specified directory scanner against the specified project.
 java.lang.String toString()
          Returns included files as a list of semicolon-separated filenames.
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, 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
 

Constructor Detail

AbstractFileSet

public AbstractFileSet()
Construct a new AbstractFileSet.


AbstractFileSet

protected AbstractFileSet(AbstractFileSet fileset)
Construct a new AbstractFileSet, shallowly cloned from the specified AbstractFileSet.

Parameters:
fileset - the AbstractFileSet to use as a template.
Method Detail

setRefid

public void setRefid(Reference r)
              throws BuildException
Makes this instance in effect a reference to another instance.

You must not set another attribute or nest elements inside this element if you make it a reference.

Overrides:
setRefid in class DataType
Parameters:
r - the Reference to use.
Throws:
BuildException - on error

setDir

public void setDir(java.io.File dir)
            throws BuildException
Sets the base-directory for this instance.

Parameters:
dir - the directory's File instance.
Throws:
BuildException - on error

getDir

public java.io.File getDir()
Retrieves the base-directory for this instance.

Returns:
File.

getDir

public java.io.File getDir(Project p)
Retrieves the base-directory for this instance.

Parameters:
p - the Project against which the reference is resolved, if set.
Returns:
File.

createPatternSet

public PatternSet createPatternSet()
Creates a nested patternset.

Returns:
PatternSet.

createInclude

public PatternSet.NameEntry createInclude()
Add a name entry to the include list.

Returns:
PatternSet.NameEntry.

createIncludesFile

public PatternSet.NameEntry createIncludesFile()
Add a name entry to the include files list.

Returns:
PatternSet.NameEntry.

createExclude

public PatternSet.NameEntry createExclude()
Add a name entry to the exclude list.

Returns:
PatternSet.NameEntry.

createExcludesFile

public PatternSet.NameEntry createExcludesFile()
Add a name entry to the excludes files list.

Returns:
PatternSet.NameEntry.

setFile

public void setFile(java.io.File file)
Creates a single file fileset.

Parameters:
file - the single File included in this AbstractFileSet.

setIncludes

public void setIncludes(java.lang.String includes)
Appends includes to the current list of include patterns.

Patterns may be separated by a comma or a space.

Parameters:
includes - the String containing the include patterns.

appendIncludes

public void appendIncludes(java.lang.String[] includes)
Appends includes to the current list of include patterns.

Parameters:
includes - array containing the include patterns.
Since:
Ant 1.7

setExcludes

public void setExcludes(java.lang.String excludes)
Appends excludes to the current list of exclude patterns.

Patterns may be separated by a comma or a space.

Parameters:
excludes - the String containing the exclude patterns.

appendExcludes

public void appendExcludes(java.lang.String[] excludes)
Appends excludes to the current list of include patterns.

Parameters:
excludes - array containing the exclude patterns.
Since:
Ant 1.7

setIncludesfile

public void setIncludesfile(java.io.File incl)
                     throws BuildException
Sets the File containing the includes patterns.

Parameters:
incl - File instance.
Throws:
BuildException - on error

setExcludesfile

public void setExcludesfile(java.io.File excl)
                     throws BuildException
Sets the File containing the excludes patterns.

Parameters:
excl - File instance.
Throws:
BuildException - on error

setDefaultexcludes

public void setDefaultexcludes(boolean useDefaultExcludes)
Sets whether default exclusions should be used or not.

Parameters:
useDefaultExcludes - boolean.

getDefaultexcludes

public boolean getDefaultexcludes()
Whether default exclusions should be used or not.

Returns:
the default exclusions value.
Since:
Ant 1.6.3

setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)
Sets case sensitivity of the file system.

Parameters:
caseSensitive - boolean.

isCaseSensitive

public boolean isCaseSensitive()
Find out if the fileset is case sensitive.

Returns:
boolean indicating whether the fileset is case sensitive.
Since:
Ant 1.7

setFollowSymlinks

public void setFollowSymlinks(boolean followSymlinks)
Sets whether or not symbolic links should be followed.

Parameters:
followSymlinks - whether or not symbolic links should be followed.

isFollowSymlinks

public boolean isFollowSymlinks()
Find out if the fileset wants to follow symbolic links.

Returns:
boolean indicating whether symbolic links should be followed.
Since:
Ant 1.6

getDirectoryScanner

public DirectoryScanner getDirectoryScanner()
Returns the directory scanner needed to access the files to process.

Returns:
a DirectoryScanner instance.

getDirectoryScanner

public DirectoryScanner getDirectoryScanner(Project p)
Returns the directory scanner needed to access the files to process.

Parameters:
p - the Project against which the DirectoryScanner should be configured.
Returns:
a DirectoryScanner instance.

setupDirectoryScanner

public void setupDirectoryScanner(FileScanner ds)
Set up the specified directory scanner against this AbstractFileSet's Project.

Parameters:
ds - a FileScanner instance.

setupDirectoryScanner

public void setupDirectoryScanner(FileScanner ds,
                                  Project p)
Set up the specified directory scanner against the specified project.

Parameters:
ds - a FileScanner instance.
p - an Ant Project instance.

getRef

protected AbstractFileSet getRef(Project p)
Performs the check for circular references and returns the referenced FileSet.

Parameters:
p - the current project
Returns:
the referenced FileSet

hasSelectors

public boolean hasSelectors()
Indicates whether there are any selectors here.

Specified by:
hasSelectors in interface SelectorContainer
Returns:
whether any selectors are in this container.

hasPatterns

public boolean hasPatterns()
Indicates whether there are any patterns here.

Returns:
whether any patterns are in this container.

selectorCount

public int selectorCount()
Gives the count of the number of selectors in this container.

Specified by:
selectorCount in interface SelectorContainer
Returns:
the number of selectors in this container as an int.

getSelectors

public FileSelector[] getSelectors(Project p)
Returns the set of selectors as an array.

Specified by:
getSelectors in interface SelectorContainer
Parameters:
p - the current project
Returns:
a FileSelector[] of the selectors in this container.

selectorElements

public java.util.Enumeration selectorElements()
Returns an enumerator for accessing the set of selectors.

Specified by:
selectorElements in interface SelectorContainer
Returns:
an Enumeration of selectors.

appendSelector

public void appendSelector(FileSelector selector)
Add a new selector into this container.

Specified by:
appendSelector in interface SelectorContainer
Parameters:
selector - the new FileSelector to add.

addSelector

public void addSelector(SelectSelector selector)
Add a "Select" selector entry on the selector list.

Specified by:
addSelector in interface SelectorContainer
Parameters:
selector - the SelectSelector to add.

addAnd

public void addAnd(AndSelector selector)
Add an "And" selector entry on the selector list.

Specified by:
addAnd in interface SelectorContainer
Parameters:
selector - the AndSelector to add.

addOr

public void addOr(OrSelector selector)
Add an "Or" selector entry on the selector list.

Specified by:
addOr in interface SelectorContainer
Parameters:
selector - the OrSelector to add.

addNot

public void addNot(NotSelector selector)
Add a "Not" selector entry on the selector list.

Specified by:
addNot in interface SelectorContainer
Parameters:
selector - the NotSelector to add.

addNone

public void addNone(NoneSelector selector)
Add a "None" selector entry on the selector list.

Specified by:
addNone in interface SelectorContainer
Parameters:
selector - the NoneSelector to add.

addMajority

public void addMajority(MajoritySelector selector)
Add a majority selector entry on the selector list.

Specified by:
addMajority in interface SelectorContainer
Parameters:
selector - the MajoritySelector to add.

addDate

public void addDate(DateSelector selector)
Add a selector date entry on the selector list.

Specified by:
addDate in interface SelectorContainer
Parameters:
selector - the DateSelector to add.

addSize

public void addSize(SizeSelector selector)
Add a selector size entry on the selector list.

Specified by:
addSize in interface SelectorContainer
Parameters:
selector - the SizeSelector to add.

addDifferent

public void addDifferent(DifferentSelector selector)
Add a DifferentSelector entry on the selector list.

Specified by:
addDifferent in interface SelectorContainer
Parameters:
selector - the DifferentSelector to add.

addFilename

public void addFilename(FilenameSelector selector)
Add a selector filename entry on the selector list.

Specified by:
addFilename in interface SelectorContainer
Parameters:
selector - the FilenameSelector to add.

addType

public void addType(TypeSelector selector)
Add a selector type entry on the selector list.

Specified by:
addType in interface SelectorContainer
Parameters:
selector - the TypeSelector to add.

addCustom

public void addCustom(ExtendSelector selector)
Add an extended selector entry on the selector list.

Specified by:
addCustom in interface SelectorContainer
Parameters:
selector - the ExtendSelector to add.

addContains

public void addContains(ContainsSelector selector)
Add a contains selector entry on the selector list.

Specified by:
addContains in interface SelectorContainer
Parameters:
selector - the ContainsSelector to add.

addPresent

public void addPresent(PresentSelector selector)
Add a present selector entry on the selector list.

Specified by:
addPresent in interface SelectorContainer
Parameters:
selector - the PresentSelector to add.

addDepth

public void addDepth(DepthSelector selector)
Add a depth selector entry on the selector list.

Specified by:
addDepth in interface SelectorContainer
Parameters:
selector - the DepthSelector to add.

addDepend

public void addDepend(DependSelector selector)
Add a depends selector entry on the selector list.

Specified by:
addDepend in interface SelectorContainer
Parameters:
selector - the DependSelector to add.

addContainsRegexp

public void addContainsRegexp(ContainsRegexpSelector selector)
Add a regular expression selector entry on the selector list.

Specified by:
addContainsRegexp in interface SelectorContainer
Parameters:
selector - the ContainsRegexpSelector to add.

addModified

public void addModified(ModifiedSelector selector)
Add the modified selector.

Specified by:
addModified in interface SelectorContainer
Parameters:
selector - the ModifiedSelector to add.
Since:
ant 1.6

add

public void add(FileSelector selector)
Add an arbitary selector.

Specified by:
add in interface SelectorContainer
Parameters:
selector - the FileSelector to add.
Since:
Ant 1.6

toString

public java.lang.String toString()
Returns included files as a list of semicolon-separated filenames.

Overrides:
toString in class DataType
Returns:
a String of included filenames.

clone

public java.lang.Object clone()
Creates a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).

Overrides:
clone in class DataType
Returns:
the cloned object
Since:
Ant 1.6

mergeIncludes

public java.lang.String[] mergeIncludes(Project p)
Get the merged include patterns for this AbstractFileSet.

Parameters:
p - the project to use.
Returns:
the include patterns of the default pattern set and all nested patternsets.
Since:
Ant 1.7

mergeExcludes

public java.lang.String[] mergeExcludes(Project p)
Get the merged exclude patterns for this AbstractFileSet.

Parameters:
p - the project to use.
Returns:
the exclude patterns of the default pattern set and all nested patternsets.
Since:
Ant 1.7

mergePatterns

public PatternSet mergePatterns(Project p)
Get the merged patterns for this AbstractFileSet.

Parameters:
p - the project to use.
Returns:
the default patternset merged with the additional sets in a new PatternSet instance.
Since:
Ant 1.7