org.apache.xml.utils

## Class ObjectStack

- java.lang.Object
- - org.apache.xml.utils.ObjectVector
  - - org.apache.xml.utils.ObjectStack

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ObjectStack
      extends ObjectVector

  Implement a stack of simple integers. %OPT% This is currently based on ObjectVector, which permits fast acess but pays a heavy recopying penalty if/when its size is increased. If we expect deep stacks, we should consider a version based on ChunkedObjectVector.
  Usage:
    **For internal use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjectStack()` Default constructor.
    `ObjectStack(int blocksize)` Construct a ObjectVector, using the given block size.
    `ObjectStack(ObjectStack v)` Copy constructor for ObjectStack

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `clone()` Returns clone of current ObjectStack
    `boolean` | `empty()` Tests if this stack is empty.
    `java.lang.Object` | `peek()` Looks at the object at the top of this stack without removing it from the stack.
    `java.lang.Object` | `peek(int n)` Looks at the object at the position the stack counting down n items.
    `java.lang.Object` | `pop()` Removes the object at the top of this stack and returns that object as the value of this function.
    `java.lang.Object` | `push(java.lang.Object i)` Pushes an item onto the top of this stack.
    `void` | `quickPop(int n)` Quickly pops a number of items from the stack.
    `int` | `search(java.lang.Object o)` Returns where an object is on this stack.
    `void` | `setTop(java.lang.Object val)` Sets an object at a the top of the statck

    - ### Methods inherited from class org.apache.xml.utils.ObjectVector

      `addElement, addElements, addElements, contains, elementAt, indexOf, indexOf, insertElementAt, lastIndexOf, removeAllElements, removeElement, removeElementAt, setElementAt, setSize, setToSize, size`

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ObjectStack

          public ObjectStack()

      Default constructor. Note that the default block size is very small, for small lists.

    - #### ObjectStack

          public ObjectStack(int blocksize)

      Construct a ObjectVector, using the given block size.
      Parameters:
        `blocksize` - Size of block to allocate

    - #### ObjectStack

          public ObjectStack(ObjectStack v)

      Copy constructor for ObjectStack
      Parameters:
        `v` - ObjectStack to copy

  - ### Method Detail

    - #### push

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

      Pushes an item onto the top of this stack.
      Parameters:
        `i` - the int to be pushed onto this stack.
      Returns:
        the `item` argument.

    - #### pop

          public java.lang.Object pop()

      Removes the object at the top of this stack and returns that object as the value of this function.
      Returns:
        The object at the top of this stack.

    - #### quickPop

          public void quickPop(int n)

      Quickly pops a number of items from the stack.

    - #### peek

          public java.lang.Object peek()

      Looks at the object at the top of this stack without removing it from the stack.
      Returns:
        the object at the top of this stack.
      Throws:
        `java.util.EmptyStackException` - if this stack is empty.

    - #### peek

          public java.lang.Object peek(int n)

      Looks at the object at the position the stack counting down n items.
      Parameters:
        `n` - The number of items down, indexed from zero.
      Returns:
        the object at n items down.
      Throws:
        `java.util.EmptyStackException` - if this stack is empty.

    - #### setTop

          public void setTop(java.lang.Object val)

      Sets an object at a the top of the statck
      Parameters:
        `val` - object to set at the top
      Throws:
        `java.util.EmptyStackException` - if this stack is empty.

    - #### empty

          public boolean empty()

      Tests if this stack is empty.
      Returns:
        `true` if this stack is empty; `false` otherwise.
      Since:
        JDK1.0

    - #### search

          public int search(java.lang.Object o)

      Returns where an object is on this stack.
      Parameters:
        `o` - the desired object.
      Returns:
        the distance from the top of the stack where the object is] located; the return value `-1` indicates that the object is not on the stack.
      Since:
        JDK1.0

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Returns clone of current ObjectStack
      Overrides:
        `clone` in class `ObjectVector`
      Returns:
        clone of current ObjectStack
      Throws:
        `java.lang.CloneNotSupportedException`

Copyright © 2014 Apache XML Project. All Rights Reserved.