Class ClassfileSet
- 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
-
- org.apache.tools.ant.types.optional.depend.ClassfileSet
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Iterable<Resource>
,ResourceCollection
,SelectorContainer
public class ClassfileSet extends FileSet
A ClassfileSet is a FileSet that enlists all classes that depend on a certain set of root classes. ClassfileSet extends FileSet, its inherited properties defining the domain searched for dependent classes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ClassfileSet.ClassRoot
Inner class used to contain info about root classes.
-
Field Summary
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Modifier Constructor Description ClassfileSet()
Default constructor.protected
ClassfileSet(ClassfileSet s)
Create a ClassfileSet from another ClassfileSet.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConfiguredRoot(ClassfileSet.ClassRoot root)
Add a nested root class definition to this class file set.void
addRootFileset(FileSet rootFileSet)
Add a fileset to which contains a collection of root classes used to drive the search from classes.java.lang.Object
clone()
Clone this data type.protected void
dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).DirectoryScanner
getDirectoryScanner(Project p)
Return the DirectoryScanner associated with this FileSet.void
setRootClass(java.lang.String rootClass)
Set the root class attribute.-
Methods inherited from class org.apache.tools.ant.types.FileSet
isFilesystemOnly, iterator, size
-
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, getDefaultexcludes, getDir, getDir, getDirectoryScanner, getErrorOnMissingDir, getMaxLevelsOfSymlinks, getRef, 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, 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 org.apache.tools.ant.types.ResourceCollection
isEmpty, stream
-
-
-
-
Constructor Detail
-
ClassfileSet
public ClassfileSet()
Default constructor.
-
ClassfileSet
protected ClassfileSet(ClassfileSet s)
Create a ClassfileSet from another ClassfileSet.- Parameters:
s
- the other classfileset.
-
-
Method Detail
-
addRootFileset
public void addRootFileset(FileSet rootFileSet)
Add a fileset to which contains a collection of root classes used to drive the search from classes.- Parameters:
rootFileSet
- a root file set to be used to search for dependent classes.
-
setRootClass
public void setRootClass(java.lang.String rootClass)
Set the root class attribute.- Parameters:
rootClass
- the name of the root class.
-
getDirectoryScanner
public DirectoryScanner getDirectoryScanner(Project p)
Return the DirectoryScanner associated with this FileSet.- Overrides:
getDirectoryScanner
in classAbstractFileSet
- Parameters:
p
- the project used to resolve dirs, etc.- Returns:
- a dependency scanner.
-
addConfiguredRoot
public void addConfiguredRoot(ClassfileSet.ClassRoot root)
Add a nested root class definition to this class file set.- Parameters:
root
- the configured class root.
-
clone
public java.lang.Object clone()
Clone this data type.
-
dieOnCircularReference
protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
Description copied from class:DataType
Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).If one is included, throw a BuildException created by
circularReference
.This implementation is appropriate only for a DataType that cannot hold other DataTypes as children.
The general contract of this method is that it shouldn't do anything if
DataType.checked
is true and set it to true on exit.- Overrides:
dieOnCircularReference
in classAbstractFileSet
- Parameters:
stk
- the stack of references to check.p
- the project to use to dereference the references.
-
-