## org.apache.xml.utils
Class ObjectStack

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

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
`ObjectStack()` Default constructor.
`ObjectStack(int blocksize)` Construct a ObjectVector, using the given block size.
`ObjectStack(ObjectStack v)` Copy constructor for ObjectStack

Method Summary
`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
  Returns:
    clone of current ObjectStack
  Overrides:
    clone in class ObjectVector

Copyright © 2006 Apache XML Project. All Rights Reserved.