## org.apache.tools.ant.types.selectors
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 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.types.DataType
`checked, ref`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`AbstractSelectorContainer()`

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)` 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` `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` `appendSelector(FileSelector selector)` Add a new selector into this container.
`FileSelector[]` `getSelectors(Project p)` Returns the set of selectors as an array.
`boolean` `hasSelectors()` Indicates whether there are any selectors here.
`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 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, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, setChecked, setRefid, 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`

Constructor Detail

### AbstractSelectorContainer

    public AbstractSelectorContainer()

Method Detail

### hasSelectors

    public boolean hasSelectors()

  Indicates whether there are any selectors here.

  Specified by:
    `hasSelectors` in interface `SelectorContainer`
  Returns:
    true if there are selectors

### 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

### getSelectors

    public FileSelector[] getSelectors(Project p)

  Returns the set of selectors as an array.

  Specified by:
    `getSelectors` in interface `SelectorContainer`
  Parameters:
    `p` - the current project
  Returns:
    an array of selectors

### selectorElements

    public java.util.Enumeration selectorElements()

  Returns an enumerator for accessing the set of selectors.

  Specified by:
    `selectorElements` in interface `SelectorContainer`
  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.

  Overrides:
    `toString` in class `DataType`
  Returns:
    comma separated list of Selectors contained in this one

### appendSelector

    public void appendSelector(FileSelector selector)

  Add a new selector into this container.

  Specified by:
    `appendSelector` in interface `SelectorContainer`
  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:
    `addSelector` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector to add

### addAnd

    public void addAnd(AndSelector selector)

  add an "And" selector entry on the selector list

  Specified by:
    `addAnd` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector 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 selector 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 selector to add

### addNone

    public void addNone(NoneSelector selector)

  add a "None" selector entry on the selector list

  Specified by:
    `addNone` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector 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 selector 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 selector 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 selector 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 selector 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 selector 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 selector 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 selector 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 selector 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 selector to add

### addDifferent

    public void addDifferent(DifferentSelector selector)

  adds a different selector to the selector list

  Specified by:
    `addDifferent` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector to add

### addType

    public void addType(TypeSelector selector)

  adds a type selector to the selector list

  Specified by:
    `addType` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector 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 selector to add

### addModified

    public void addModified(ModifiedSelector selector)

  add the modified selector

  Specified by:
    `addModified` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector to add
  Since:
    ant 1.6

### add

    public void add(FileSelector selector)

  add an arbitary selector

  Specified by:
    `add` in interface `SelectorContainer`
  Parameters:
    `selector` - the selector to add
  Since:
    Ant 1.6