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

All Methods Static Methods Instance Methods Concrete Methods
`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, 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`

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