public abstract class BaseSelectorContainer extends BaseSelector implements SelectorContainer
description, location, project
Constructor and Description |
---|
BaseSelectorContainer()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
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)
adds a different selector to 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 |
addReadable(ReadableSelector r) |
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)
adds a type selector to the selector list
|
void |
addWritable(WritableSelector w) |
void |
appendSelector(FileSelector selector)
Add a new selector into this container.
|
protected void |
dieOnCircularReference(java.util.Stack 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.
|
boolean |
hasSelectors()
Indicates whether there are any selectors here.
|
abstract boolean |
isSelected(java.io.File basedir,
java.lang.String filename,
java.io.File file)
Method that each selector will implement to create their selection
behaviour.
|
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.
|
java.lang.String |
toString()
Convert the Selectors within this container to a string.
|
void |
validate()
This implementation validates the container by calling
verifySettings() and then validates each contained selector
provided that the selector implements the validate interface.
|
getError, setError, verifySettings
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
public boolean hasSelectors()
hasSelectors
in interface SelectorContainer
public int selectorCount()
selectorCount
in interface SelectorContainer
public FileSelector[] getSelectors(Project p)
getSelectors
in interface SelectorContainer
p
- the current projectpublic java.util.Enumeration selectorElements()
selectorElements
in interface SelectorContainer
public java.lang.String toString()
public void appendSelector(FileSelector selector)
appendSelector
in interface SelectorContainer
selector
- the new selector to addpublic 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:
validate
in class BaseSelector
public abstract boolean isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)
isSelected
in interface FileSelector
isSelected
in class BaseSelector
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 usepublic void addSelector(SelectSelector selector)
addSelector
in interface SelectorContainer
selector
- the selector to addpublic void addAnd(AndSelector selector)
addAnd
in interface SelectorContainer
selector
- the selector to addpublic void addOr(OrSelector selector)
addOr
in interface SelectorContainer
selector
- the selector to addpublic void addNot(NotSelector selector)
addNot
in interface SelectorContainer
selector
- the selector to addpublic void addNone(NoneSelector selector)
addNone
in interface SelectorContainer
selector
- the selector to addpublic void addMajority(MajoritySelector selector)
addMajority
in interface SelectorContainer
selector
- the selector to addpublic void addDate(DateSelector selector)
addDate
in interface SelectorContainer
selector
- the selector to addpublic void addSize(SizeSelector selector)
addSize
in interface SelectorContainer
selector
- the selector to addpublic void addFilename(FilenameSelector selector)
addFilename
in interface SelectorContainer
selector
- the selector to addpublic void addCustom(ExtendSelector selector)
addCustom
in interface SelectorContainer
selector
- the selector to addpublic void addContains(ContainsSelector selector)
addContains
in interface SelectorContainer
selector
- the selector to addpublic void addPresent(PresentSelector selector)
addPresent
in interface SelectorContainer
selector
- the selector to addpublic void addDepth(DepthSelector selector)
addDepth
in interface SelectorContainer
selector
- the selector to addpublic void addDepend(DependSelector selector)
addDepend
in interface SelectorContainer
selector
- the selector to addpublic void addDifferent(DifferentSelector selector)
addDifferent
in interface SelectorContainer
selector
- the selector to addpublic void addType(TypeSelector selector)
addType
in interface SelectorContainer
selector
- the selector to addpublic void addContainsRegexp(ContainsRegexpSelector selector)
addContainsRegexp
in interface SelectorContainer
selector
- the selector to addpublic void addModified(ModifiedSelector selector)
addModified
in interface SelectorContainer
selector
- the selector to addpublic void addReadable(ReadableSelector r)
public void addWritable(WritableSelector w)
public void add(FileSelector selector)
add
in interface SelectorContainer
selector
- the selector to addprotected void dieOnCircularReference(java.util.Stack stk, Project p) throws BuildException
DataType
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
is true and
set it to true on exit.checked
dieOnCircularReference
in class DataType
stk
- the stack of references to check.p
- the project to use to dereference the references.BuildException
- on error.