org.apache.tools.ant.types.resources

## Class SizeLimitCollection

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.resources.AbstractResourceCollectionWrapper
      - - org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper
        - - org.apache.tools.ant.types.resources.SizeLimitCollection

- All Implemented Interfaces:
    java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection
  Direct Known Subclasses:
    AllButFirst, AllButLast, First, Last

      public abstract class SizeLimitCollection
      extends BaseResourceCollectionWrapper

  ResourceCollection that imposes a size limit on another ResourceCollection.
  Since:
    Ant 1.7.1

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

    Constructors
    Constructor and Description
    `SizeLimitCollection()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCount()` Get the number of resources to be included.
    `protected int` | `getValidCount()` Get the count, verifying it is >= 0.
    `void` | `setCount(int i)` Set the number of resources to be included.
    `int` | `size()` Efficient size implementation.

    - ### Methods inherited from class org.apache.tools.ant.types.resources.BaseResourceCollectionWrapper

      `createIterator, getCollection, getSize`

    - ### Methods inherited from class org.apache.tools.ant.types.resources.AbstractResourceCollectionWrapper

      `add, dieOnCircularReference, getResourceCollection, isCache, isFilesystemOnly, iterator, setCache, toString`

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

    - ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

      `isEmpty, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### SizeLimitCollection

          public SizeLimitCollection()

  - ### Method Detail

    - #### setCount

          public void setCount(int i)

      Set the number of resources to be included.
      Parameters:
        `i` - the count as `int`.

    - #### getCount

          public int getCount()

      Get the number of resources to be included. Default is 1.
      Returns:
        the count as `int`.

    - #### size

          public int size()

      Efficient size implementation.
      Specified by:
        `size` in interface `ResourceCollection`
      Overrides:
        `size` in class `AbstractResourceCollectionWrapper`
      Returns:
        int size

    - #### getValidCount

          protected int getValidCount()

      Get the count, verifying it is >= 0.
      Returns:
        int count