Class BaseSelectorContainer
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.selectors.BaseSelector
org.apache.tools.ant.types.selectors.BaseSelectorContainer
- All Implemented Interfaces:
Cloneable,ResourceSelector,FileSelector,SelectorContainer
- Direct Known Subclasses:
AndSelector,MajoritySelector,NoneSelector,OrSelector,SelectSelector
This is the base class for selectors that can contain other selectors.
- Since:
- 1.5
-
Field Summary
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(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 listvoidvoidaddFilename(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 listvoidvoidvoidvoidaddPresent(PresentSelector selector) add a present selector entry on the selector listvoidvoidaddSelector(SelectSelector selector) add a "Select" selector entry on the selector listvoidaddSize(SizeSelector selector) add a selector size entry on the selector listvoidvoidaddType(TypeSelector selector) adds a type selector to the selector listvoidvoidappendSelector(FileSelector selector) Add a new selector into this container.protected voiddieOnCircularReference(Stack<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).Returns the set of selectors as an array.booleanIndicates whether there are any selectors here.abstract booleanisSelected(File basedir, String filename, File file) Method that each selector will implement to create their selection behaviour.intGives the count of the number of selectors in this containerReturns an enumerator for accessing the set of selectors.toString()Convert the Selectors within this container to a string.voidvalidate()This implementation validates the container by calling verifySettings() and then validates each contained selector provided that the selector implements the validate interface.Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, setError, verifySettingsMethods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributesMethods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProjectMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.tools.ant.types.selectors.FileSelector
isSelected
-
Constructor Details
-
BaseSelectorContainer
public BaseSelectorContainer()
-
-
Method Details
-
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
Returns the set of selectors as an array.- Specified by:
getSelectorsin interfaceSelectorContainer- Parameters:
p- the current project- Returns:
- an array of selectors
-
selectorElements
Returns an enumerator for accessing the set of selectors.- Specified by:
selectorElementsin interfaceSelectorContainer- Returns:
- an enumerator for the selectors
-
toString
-
appendSelector
Add a new selector into this container.- Specified by:
appendSelectorin interfaceSelectorContainer- Parameters:
selector- the new selector to add
-
validate
public void validate()This implementation validates the container by calling verifySettings() and then 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.
- Overrides:
validatein classBaseSelector
-
isSelected
Method that each selector will implement to create their selection behaviour. This is what makes SelectorContainer abstract.- Specified by:
isSelectedin interfaceFileSelector- Specified by:
isSelectedin classBaseSelector- Parameters:
basedir- the base directory the scan is being done fromfilename- the name of the file to checkfile- a java.io.File object for the filename that the selector can use- Returns:
- whether the file should be selected or not
-
addSelector
add a "Select" selector entry on the selector list- Specified by:
addSelectorin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addAnd
add an "And" selector entry on the selector list- Specified by:
addAndin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addOr
add an "Or" selector entry on the selector list- Specified by:
addOrin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addNot
add a "Not" selector entry on the selector list- Specified by:
addNotin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addNone
add a "None" selector entry on the selector list- Specified by:
addNonein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addMajority
add a majority selector entry on the selector list- Specified by:
addMajorityin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDate
add a selector date entry on the selector list- Specified by:
addDatein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addSize
add a selector size entry on the selector list- Specified by:
addSizein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addFilename
add a selector filename entry on the selector list- Specified by:
addFilenamein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addCustom
add an extended selector entry on the selector list- Specified by:
addCustomin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addContains
add a contains selector entry on the selector list- Specified by:
addContainsin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addPresent
add a present selector entry on the selector list- Specified by:
addPresentin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDepth
add a depth selector entry on the selector list- Specified by:
addDepthin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDepend
add a depends selector entry on the selector list- Specified by:
addDependin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addDifferent
adds a different selector to the selector list- Specified by:
addDifferentin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addType
adds a type selector to the selector list- Specified by:
addTypein interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addContainsRegexp
add a regular expression selector entry on the selector list- Specified by:
addContainsRegexpin interfaceSelectorContainer- Parameters:
selector- the selector to add
-
addModified
add the modified selector- Specified by:
addModifiedin interfaceSelectorContainer- Parameters:
selector- the selector to add- Since:
- ant 1.6
-
addReadable
-
addWritable
-
addExecutable
- Parameters:
e- ExecutableSelector- Since:
- 1.10.0
-
addSymlink
- Parameters:
e- SymlinkSelector- Since:
- 1.10.0
-
addOwnedBy
- Parameters:
o- OwnedBySelector- Since:
- 1.10.0
-
addPosixGroup
- Parameters:
o- PosixGroupSelector- Since:
- 1.10.4
-
addPosixPermissions
- Parameters:
o- PosixPermissionsSelector- Since:
- 1.10.4
-
add
add an arbitrary selector- Specified by:
addin interfaceSelectorContainer- Parameters:
selector- the selector to add- Since:
- Ant 1.6
-
dieOnCircularReference
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.- Throws:
BuildException- on error.
-