org.apache.tools.ant.types

Class AbstractFileSet

Implemented Interfaces:
Cloneable, SelectorContainer
Known Direct Subclasses:
DirSet, FileSet

public abstract class AbstractFileSet
extends DataType
implements 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, description, ref

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

project

Constructor Summary

AbstractFileSet()
Construct a new AbstractFileSet.
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
appendSelector(FileSelector selector)
Add a new selector into this container.
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.
protected String
getDataTypeName()
Gets as descriptive as possible a name used for this datatype instance.
boolean
getDefaultexcludes()
Whether default exclusions should be used or not.
File
getDir(Project p)
Retrieves the base-directory for this instance.
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
isFollowSymlinks()
Find out if the fileset wants to follow symbolic links.
int
selectorCount()
Gives the count of the number of selectors in this container.
Enumeration
selectorElements()
Returns an enumerator for accessing the set of selectors.
void
setCaseSensitive(boolean isCaseSensitive)
Sets case sensitivity of the file system.
void
setDefaultexcludes(boolean useDefaultExcludes)
Sets whether default exclusions should be used or not.
void
setDir(File dir)
Sets the base-directory for this instance.
void
setExcludes(String excludes)
Appends excludes to the current list of exclude patterns.
void
setExcludesfile(File excl)
Sets the File containing the excludes patterns.
void
setFile(File file)
Creates a single file fileset.
void
setFollowSymlinks(boolean followSymlinks)
Sets whether or not symbolic links should be followed.
void
setIncludes(String includes)
Appends includes to the current list of include patterns.
void
setIncludesfile(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, Project p)
Set up the specified directory scanner against the specified project.
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, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, setDescription, setRefid, tooManyAttributes

Methods inherited from class org.apache.tools.ant.ProjectComponent

getProject, log, log, setProject

Constructor Details

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 Details

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

clone

public 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).
Since:
Ant 1.6

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.

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.

createPatternSet

public PatternSet createPatternSet()
Creates a nested patternset.
Returns:
PatternSet.

getDataTypeName

protected String getDataTypeName()
Gets as descriptive as possible a name used for this datatype instance.
Returns:
String name.

getDefaultexcludes

public boolean getDefaultexcludes()
Whether default exclusions should be used or not.
Since:
Ant 1.6.3

getDir

public 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.

getDirectoryScanner

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

getRef

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

getSelectors

public FileSelector[] getSelectors(Project p)
Returns the set of selectors as an array.
Specified by:
getSelectors in interface SelectorContainer
Returns:
a FileSelector[] of the selectors in this container.

hasPatterns

public boolean hasPatterns()
Indicates whether there are any patterns here.
Returns:
whether any patterns are in this container.

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.

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

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.

selectorElements

public Enumeration selectorElements()
Returns an enumerator for accessing the set of selectors.
Specified by:
selectorElements in interface SelectorContainer
Returns:
an Enumeration of selectors.

setCaseSensitive

public void setCaseSensitive(boolean isCaseSensitive)
Sets case sensitivity of the file system.
Parameters:
isCaseSensitive - boolean.

setDefaultexcludes

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

setDir

public void setDir(File dir)
            throws BuildException
Sets the base-directory for this instance.
Parameters:
dir - the directory's File instance.

setExcludes

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

setExcludesfile

public void setExcludesfile(File excl)
            throws BuildException
Sets the File containing the excludes patterns.
Parameters:
excl - File instance.

setFile

public void setFile(File file)
Creates a single file fileset.
Parameters:
file - the single File included in this AbstractFileSet.

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.

setIncludes

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

setIncludesfile

public void setIncludesfile(File incl)
            throws BuildException
Sets the File containing the includes patterns.
Parameters:
incl - File instance.

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 interface DataType
Parameters:
r - the Reference to use.

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.

toString

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

Copyright B) 2000-2008 Apache Software Foundation. All Rights Reserved.