Class AbstractSelectorContainer
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.types.DataType
-
- org.apache.tools.ant.types.selectors.AbstractSelectorContainer
-
- All Implemented Interfaces:
java.lang.Cloneable,SelectorContainer
- Direct Known Subclasses:
Files,IsFileSelected
public abstract class AbstractSelectorContainer extends DataType implements java.lang.Cloneable, SelectorContainer
This is the a base class a container of selectors - it does not need do be a selector itself.- Since:
- 1.7
-
-
Field Summary
-
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
-
-
Constructor Summary
Constructors Constructor Description AbstractSelectorContainer()
-
Method Summary
Modifier and Type Method Description voidadd(FileSelector selector)add an arbitrary selectorvoidaddAnd(AndSelector selector)add an "And" selector entry on the selector listvoidaddContains(ContainsSelector selector)add a contains selector entry on the selector listvoidaddContainsRegexp(ContainsRegexpSelector selector)add a regular expression selector entry on the selector listvoidaddCustom(ExtendSelector selector)add an extended selector entry on the selector listvoidaddDate(DateSelector selector)add a selector date entry on the selector listvoidaddDepend(DependSelector selector)add a depends selector entry on the selector listvoidaddDepth(DepthSelector selector)add a depth selector entry on the selector listvoidaddDifferent(DifferentSelector selector)adds a different selector to the selector listvoidaddExecutable(ExecutableSelector e)voidaddFilename(FilenameSelector selector)add a selector filename entry on the selector listvoidaddMajority(MajoritySelector selector)add a majority selector entry on the selector listvoidaddModified(ModifiedSelector selector)add the modified selectorvoidaddNone(NoneSelector selector)add a "None" selector entry on the selector listvoidaddNot(NotSelector selector)add a "Not" selector entry on the selector listvoidaddOr(OrSelector selector)add an "Or" selector entry on the selector listvoidaddOwnedBy(OwnedBySelector o)voidaddPosixGroup(PosixGroupSelector o)voidaddPosixPermissions(PosixPermissionsSelector o)voidaddPresent(PresentSelector selector)add a present selector entry on the selector listvoidaddReadable(ReadableSelector r)voidaddSelector(SelectSelector selector)add a "Select" selector entry on the selector listvoidaddSize(SizeSelector selector)add a selector size entry on the selector listvoidaddSymlink(SymlinkSelector e)voidaddType(TypeSelector selector)adds a type selector to the selector listvoidaddWritable(WritableSelector w)voidappendSelector(FileSelector selector)Add a new selector into this container.java.lang.Objectclone()Clone the selector container.protected voiddieOnCircularReference(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).FileSelector[]getSelectors(Project p)Returns the set of selectors as an array.booleanhasSelectors()Indicates whether there are any selectors here.intselectorCount()Gives the count of the number of selectors in this containerjava.util.Enumeration<FileSelector>selectorElements()Returns an enumerator for accessing the set of selectors.java.lang.StringtoString()Convert the Selectors within this container to a string.voidvalidate()This validates each contained selector provided that the selector implements the validate interface.-
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, setRefid, tooManyAttributes
-
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
-
-
-
-
Method Detail
-
hasSelectors
public boolean hasSelectors()
Indicates whether there are any selectors here.- Specified by:
hasSelectorsin interfaceSelectorContainer- Returns:
- true if there are selectors
-
selectorCount
public int selectorCount()
Gives the count of the number of selectors in this container- Specified by:
selectorCountin interfaceSelectorContainer- Returns:
- the number of selectors
-
getSelectors
public FileSelector[] getSelectors(Project p)
Returns the set of selectors as an array.- Specified by:
getSelectorsin interfaceSelectorContainer- Parameters:
p- the current project- Returns:
- an array of selectors
-
selectorElements
public java.util.Enumeration<FileSelector> selectorElements()
Returns an enumerator for accessing the set of selectors.- Specified by:
selectorElementsin interfaceSelectorContainer- Returns:
- an enumerator for the selectors
-
toString
public java.lang.String toString()
Convert the Selectors within this container to a string. This will just be a helper class for the subclasses that put their own name around the contents listed here.
-
appendSelector
public void appendSelector(FileSelector selector)
Add a new selector into this container.- Specified by:
appendSelectorin interfaceSelectorContainer- Parameters:
selector- the new selector to add
-
validate
public void validate()
This validates each contained selector provided that the selector implements the validate interface.
Ordinarily, this will validate all the elements of a selector container even if the isSelected() method of some elements is never called. This has two effects:
- Validation will often occur twice.
- Since it is not required that selectors derive from BaseSelector, there could be selectors in the container whose error conditions are not detected if their isSelected() call is never made.
-
addSelector
public void addSelector(SelectSelector selector)
add a "Select" selector entry on the selector list- Specified by:
addSelectorin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addAnd
public void addAnd(AndSelector selector)
add an "And" selector entry on the selector list- Specified by:
addAndin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addOr
public void addOr(OrSelector selector)
add an "Or" selector entry on the selector list- Specified by:
addOrin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addNot
public void addNot(NotSelector selector)
add a "Not" selector entry on the selector list- Specified by:
addNotin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addNone
public void addNone(NoneSelector selector)
add a "None" selector entry on the selector list- Specified by:
addNonein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addMajority
public void addMajority(MajoritySelector selector)
add a majority selector entry on the selector list- Specified by:
addMajorityin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDate
public void addDate(DateSelector selector)
add a selector date entry on the selector list- Specified by:
addDatein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addSize
public void addSize(SizeSelector selector)
add a selector size entry on the selector list- Specified by:
addSizein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addFilename
public void addFilename(FilenameSelector selector)
add a selector filename entry on the selector list- Specified by:
addFilenamein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addCustom
public void addCustom(ExtendSelector selector)
add an extended selector entry on the selector list- Specified by:
addCustomin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addContains
public void addContains(ContainsSelector selector)
add a contains selector entry on the selector list- Specified by:
addContainsin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addPresent
public void addPresent(PresentSelector selector)
add a present selector entry on the selector list- Specified by:
addPresentin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDepth
public void addDepth(DepthSelector selector)
add a depth selector entry on the selector list- Specified by:
addDepthin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDepend
public void addDepend(DependSelector selector)
add a depends selector entry on the selector list- Specified by:
addDependin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDifferent
public void addDifferent(DifferentSelector selector)
adds a different selector to the selector list- Specified by:
addDifferentin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addType
public void addType(TypeSelector selector)
adds a type selector to the selector list- Specified by:
addTypein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addContainsRegexp
public void addContainsRegexp(ContainsRegexpSelector selector)
add a regular expression selector entry on the selector list- Specified by:
addContainsRegexpin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addModified
public void addModified(ModifiedSelector selector)
add the modified selector- Specified by:
addModifiedin interfaceSelectorContainer- Parameters:
selector- the selector to add- Since:
- ant 1.6
-
addReadable
public void addReadable(ReadableSelector r)
-
addWritable
public void addWritable(WritableSelector w)
-
addExecutable
public void addExecutable(ExecutableSelector e)
- Parameters:
e- ExecutableSelector- Since:
- 1.10.0
-
addSymlink
public void addSymlink(SymlinkSelector e)
- Parameters:
e- SymlinkSelector- Since:
- 1.10.0
-
addOwnedBy
public void addOwnedBy(OwnedBySelector o)
- Parameters:
o- OwnedBySelector- Since:
- 1.10.0
-
addPosixGroup
public void addPosixGroup(PosixGroupSelector o)
- Parameters:
o- PosixGroupSelector- Since:
- 1.10.4
-
addPosixPermissions
public void addPosixPermissions(PosixPermissionsSelector o)
- Parameters:
o- PosixPermissionsSelector- Since:
- 1.10.4
-
add
public void add(FileSelector selector)
add an arbitrary selector- Specified by:
addin interfaceSelectorContainer- Parameters:
selector- the selector to add- Since:
- Ant 1.6
-
dieOnCircularReference
protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)Description copied from class:DataTypeCheck 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.checkedis true and set it to true on exit.- Overrides:
dieOnCircularReferencein classDataType- Parameters:
stk- the stack of references to check.p- the project to use to dereference the references.
-
-