org.apache.tools.ant.util

## Class IdentityStack<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.Vector<E>
      - - java.util.Stack<E>
        - - org.apache.tools.ant.util.IdentityStack<E>

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess

      public class IdentityStack<E>
      extends java.util.Stack<E>

  Identity Stack.
  Since:
    Ant 1.7
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.util.Vector

      `capacityIncrement, elementCount, elementData`

    - ### Fields inherited from class java.util.AbstractList

      `modCount`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IdentityStack()` Default constructor.
    `IdentityStack(E o)` Construct a new IdentityStack with the specified Object as the bottom element.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `contains(java.lang.Object o)` Override methods that use `.equals()` comparisons on elements.
    `boolean` | `containsAll(java.util.Collection<?> c)`
    `static <E> IdentityStack<E>` | `getInstance(java.util.Stack<E> s)` Get an IdentityStack containing the contents of the specified Stack.
    `int` | `indexOf(java.lang.Object o, int pos)` Override methods that use `.equals()` comparisons on elements.
    `int` | `lastIndexOf(java.lang.Object o, int pos)` Override methods that use `.equals()` comparisons on elements.
    `boolean` | `removeAll(java.util.Collection<?> c)`
    `boolean` | `retainAll(java.util.Collection c)`

    - ### Methods inherited from class java.util.Stack

      `empty, peek, pop, push, search`

    - ### Methods inherited from class java.util.Vector

      `add, add, addAll, addAll, addElement, capacity, clear, clone, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, listIterator, listIterator, remove, remove, removeAllElements, removeElement, removeElementAt, removeRange, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### IdentityStack

          public IdentityStack()

      Default constructor.

    - #### IdentityStack

          public IdentityStack(E o)

      Construct a new IdentityStack with the specified Object as the bottom element.
      Parameters:
        `o` - the bottom element.

  - ### Method Detail

    - #### getInstance

          public static <E> IdentityStack<E> getInstance(java.util.Stack<E> s)

      Get an IdentityStack containing the contents of the specified Stack.
      Parameters:
        `s` - the Stack to copy; ignored if null.
      Returns:
        an IdentityStack instance.

    - #### contains

          public boolean contains(java.lang.Object o)

      Override methods that use `.equals()` comparisons on elements.
      Specified by:
        `contains` in interface `java.util.Collection<E>`
      Specified by:
        `contains` in interface `java.util.List<E>`
      Overrides:
        `contains` in class `java.util.Vector<E>`
      Parameters:
        `o` - the Object to search for.
      Returns:
        true if the stack contains the object.
      See Also:
        `Vector.contains(Object)`

    - #### indexOf

          public int indexOf(java.lang.Object o,
                    int pos)

      Override methods that use `.equals()` comparisons on elements.
      Overrides:
        `indexOf` in class `java.util.Vector<E>`
      Parameters:
        `o` - the Object to search for.
        `pos` - the position from which to search.
      Returns:
        the position of the object, -1 if not found.
      See Also:
        `Vector.indexOf(Object, int)`

    - #### lastIndexOf

          public int lastIndexOf(java.lang.Object o,
                        int pos)

      Override methods that use `.equals()` comparisons on elements.
      Overrides:
        `lastIndexOf` in class `java.util.Vector<E>`
      Parameters:
        `o` - the Object to search for.
        `pos` - the position from which to search (backward).
      Returns:
        the position of the object, -1 if not found.
      See Also:
        `Vector.indexOf(Object, int)`

    - #### removeAll

          public boolean removeAll(java.util.Collection<?> c)

      Specified by:
        `removeAll` in interface `java.util.Collection<E>`
      Specified by:
        `removeAll` in interface `java.util.List<E>`
      Overrides:
        `removeAll` in class `java.util.Vector<E>`

    - #### retainAll

          public boolean retainAll(java.util.Collection c)

      Specified by:
        `retainAll` in interface `java.util.Collection<E>`
      Specified by:
        `retainAll` in interface `java.util.List<E>`
      Overrides:
        `retainAll` in class `java.util.Vector<E>`

    - #### containsAll

          public boolean containsAll(java.util.Collection<?> c)

      Specified by:
        `containsAll` in interface `java.util.Collection<E>`
      Specified by:
        `containsAll` in interface `java.util.List<E>`
      Overrides:
        `containsAll` in class `java.util.Vector<E>`