ArrayStack (Tomcat API Documentation)
Keywords: org.apache.tomcat.util.digester.ArrayStack class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tomcat.util.digester
Class ArrayStack

    java.lang.Object
      java.util.AbstractCollection<E>
          java.util.AbstractList<E>
              java.util.ArrayList
                  org.apache.tomcat.util.digester.ArrayStack

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

    public class ArrayStack

extends java.util.ArrayList

Imported copy of the `ArrayStack` class from Commons Collections, which was the only direct dependency from Digester.

WARNNG - This class is public solely to allow it to be used from subpackages of `org.apache.commons.digester`. It should not be considered part of the public API of Commons Digester. If you want to use such a class yourself, you should use the one from Commons Collections directly.

An implementation of the `Stack` API that is based on an `ArrayList` instead of a `Vector`, so it is not synchronized to protect against multi-threaded access. The implementation is therefore operates faster in environments where you do not need to worry about multiple thread contention.

Unlike `Stack`, `ArrayStack` accepts null entries.

Since:
  Digester 1.6 (from Commons Collections 1.0)
See Also:
  `Stack`, Serialized Form

Field Summary

Fields inherited from class java.util.AbstractList
`modCount`

Constructor Summary
`ArrayStack()` Constructs a new empty `ArrayStack`.
`ArrayStack(int initialSize)` Constructs a new empty `ArrayStack` with an initial size.

Method Summary
`boolean` | `empty()` Return `true` if this stack is currently empty.
`java.lang.Object` | `peek()` Returns the top item off of this stack without removing it.
`java.lang.Object` | `peek(int n)` Returns the n'th item down (zero-relative) from the top of this stack without removing it.
`java.lang.Object` | `pop()` Pops the top item off of this stack and return it.
`java.lang.Object` | `push(java.lang.Object item)` Pushes a new item onto the top of this stack.
`int` | `search(java.lang.Object object)` Returns the one-based position of the distance from the top that the specified object exists on this stack, where the top-most element is considered to be at distance `1`.

Methods inherited from class java.util.ArrayList
`add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize`

Methods inherited from class java.util.AbstractList
`equals, hashCode, iterator, listIterator, listIterator, subList`

Methods inherited from class java.util.AbstractCollection
`containsAll, removeAll, retainAll, toString`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.List
`containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList`

Constructor Detail

### ArrayStack

    public ArrayStack()

  Constructs a new empty `ArrayStack`. The initial size is controlled by `ArrayList` and is currently 10.

### ArrayStack

    public ArrayStack(int initialSize)

  Constructs a new empty `ArrayStack` with an initial size.

  Parameters:
    `initialSize` - the initial size to use
  Throws:
    `java.lang.IllegalArgumentException` - if the specified initial size is negative

Method Detail

### empty

    public boolean empty()

  Return `true` if this stack is currently empty.

  This method exists for compatibility with `java.util.Stack`. New users of this class should use `isEmpty` instead.

  Returns:
    true if the stack is currently empty

### peek

    public java.lang.Object peek()
                          throws java.util.EmptyStackException

  Returns the top item off of this stack without removing it.

  Returns:
    the top item on the stack
  Throws:
    `java.util.EmptyStackException` - if the stack is empty

### peek

    public java.lang.Object peek(int n)
                          throws java.util.EmptyStackException

  Returns the n'th item down (zero-relative) from the top of this stack without removing it.

  Parameters:
    `n` - the number of items down to go
  Returns:
    the n'th item on the stack, zero relative
  Throws:
    `java.util.EmptyStackException` - if there are not enough items on the stack to satisfy this request

### pop

    public java.lang.Object pop()
                         throws java.util.EmptyStackException

  Pops the top item off of this stack and return it.

  Returns:
    the top item on the stack
  Throws:
    `java.util.EmptyStackException` - if the stack is empty

### push

    public java.lang.Object push(java.lang.Object item)

  Pushes a new item onto the top of this stack. The pushed item is also returned. This is equivalent to calling `add`.

  Parameters:
    `item` - the item to be added
  Returns:
    the item just pushed

### search

    public int search(java.lang.Object object)

  Returns the one-based position of the distance from the top that the specified object exists on this stack, where the top-most element is considered to be at distance `1`. If the object is not present on the stack, return `-1` instead. The `equals()` method is used to compare to the items in this stack.

  Parameters:
    `object` - the object to be searched for
  Returns:
    the 1-based depth into the stack of the object, or -1 if not found

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.