org.apache.tools.ant.types.resources
Class Restrict

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.resources.selectors.ResourceSelectorContainer
              extended by org.apache.tools.ant.types.resources.Restrict
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection

public class Restrict
extends ResourceSelectorContainer
implements ResourceCollection

ResourceCollection that allows a number of selectors to be applied to a single ResourceCollection for the purposes of restricting or narrowing results.

Since:
Ant 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
Restrict()
           
 
Method Summary
 void add(ResourceCollection c)
          Add the ResourceCollection.
 void add(ResourceSelector s)
          Add a ResourceSelector.
protected  void dieOnCircularReference(java.util.Stack<java.lang.Object> stk, Project p)
          Overrides the version from DataType to recurse on nested ResourceSelectors.
 boolean isCache()
          Learn whether to cache collections.
 boolean isFilesystemOnly()
          Fulfill the ResourceCollection contract.
 java.util.Iterator<Resource> iterator()
          Fulfill the ResourceCollection contract.
 void setCache(boolean b)
          Set whether to cache collections.
 int size()
          Fulfill the ResourceCollection contract.
 java.lang.String toString()
          Format this Restrict collection as a String.
 
Methods inherited from class org.apache.tools.ant.types.resources.selectors.ResourceSelectorContainer
getSelectors, hasSelectors, selectorCount
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, 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
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Restrict

public Restrict()
Method Detail

add

public void add(ResourceCollection c)
Add the ResourceCollection.

Parameters:
c - the ResourceCollection to add.

setCache

public void setCache(boolean b)
Set whether to cache collections.

Parameters:
b - boolean cache flag.

isCache

public boolean isCache()
Learn whether to cache collections. Default is true.

Returns:
boolean cache flag.

add

public void add(ResourceSelector s)
Add a ResourceSelector.

Overrides:
add in class ResourceSelectorContainer
Parameters:
s - the ResourceSelector to add.

iterator

public final java.util.Iterator<Resource> iterator()
Fulfill the ResourceCollection contract.

Specified by:
iterator in interface java.lang.Iterable<Resource>
Specified by:
iterator in interface ResourceCollection
Returns:
an Iterator of Resources.

size

public int size()
Fulfill the ResourceCollection contract.

Specified by:
size in interface ResourceCollection
Returns:
number of elements as int.

isFilesystemOnly

public boolean isFilesystemOnly()
Fulfill the ResourceCollection contract.

Specified by:
isFilesystemOnly in interface ResourceCollection
Returns:
whether this is a filesystem-only resource collection.

toString

public java.lang.String toString()
Format this Restrict collection as a String.

Overrides:
toString in class DataType
Returns:
the String value of this collection.

dieOnCircularReference

protected void dieOnCircularReference(java.util.Stack<java.lang.Object> stk,
                                      Project p)
Description copied from class: ResourceSelectorContainer
Overrides the version from DataType to recurse on nested ResourceSelectors.

Overrides:
dieOnCircularReference in class ResourceSelectorContainer
Parameters:
stk - the Stack of references.
p - the Project to resolve against.