Package 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:
  `Serializable`, `Cloneable`, `Iterable<E>`, `Collection<E>`, `List<E>`, `RandomAccess`

public class IdentityStack<E> extends 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
  Description
  `IdentityStack()`
  Default constructor.
  `IdentityStack(E o)`
  Construct a new IdentityStack with the specified Object as the bottom element.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `contains(Object o)`
  Override methods that use `.equals()` comparisons on elements.
  `boolean`
  `containsAll(Collection<?> c)`
  `static <E> IdentityStack<E>`
  `getInstance(Stack<E> s)`
  Get an IdentityStack containing the contents of the specified Stack.
  `int`
  `indexOf(Object o, int pos)`
  Override methods that use `.equals()` comparisons on elements.
  `int`
  `lastIndexOf(Object o, int pos)`
  Override methods that use `.equals()` comparisons on elements.
  `boolean`
  `removeAll(Collection<?> c)`
  `boolean`
  `retainAll(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, forEach, get, hashCode, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, listIterator, listIterator, remove, remove, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, set, setElementAt, setSize, size, sort, spliterator, subList, toArray, toArray, toString, trimToSize`

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

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

  ### Methods inherited from interface java.util.Collection

  `parallelStream, stream, toArray`

- ## Constructor Details

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

  - ### getInstance

    public static <E> IdentityStack<E> getInstance(Stack<E> s)
    Get an IdentityStack containing the contents of the specified Stack.
    Type Parameters:
      `E` - desired type
    Parameters:
      `s` - the Stack to copy; ignored if null.
    Returns:
      an IdentityStack instance.

  - ### contains

    public boolean contains(Object o)
    Override methods that use `.equals()` comparisons on elements.
    Specified by:
      `contains` in interface `Collection<E>`
    Specified by:
      `contains` in interface `List<E>`
    Overrides:
      `contains` in class `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(Object o, int pos)
    Override methods that use `.equals()` comparisons on elements.
    Overrides:
      `indexOf` in class `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(Object o, int pos)
    Override methods that use `.equals()` comparisons on elements.
    Overrides:
      `lastIndexOf` in class `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(Collection<?> c)
    Specified by:
      `removeAll` in interface `Collection<E>`
    Specified by:
      `removeAll` in interface `List<E>`
    Overrides:
      `removeAll` in class `Vector<E>`

  - ### retainAll

    public boolean retainAll(Collection<?> c)
    Specified by:
      `retainAll` in interface `Collection<E>`
    Specified by:
      `retainAll` in interface `List<E>`
    Overrides:
      `retainAll` in class `Vector<E>`

  - ### containsAll

    public boolean containsAll(Collection<?> c)
    Specified by:
      `containsAll` in interface `Collection<E>`
    Specified by:
      `containsAll` in interface `List<E>`
    Overrides:
      `containsAll` in class `Vector<E>`