Package 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.
-
-
Constructor Summary
Constructors Constructor Description ObjectStack()
Default constructor.ObjectStack(int blocksize)
Construct a ObjectVector, using the given block size.ObjectStack(ObjectStack v)
Copy constructor for ObjectStack
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Returns clone of current ObjectStackboolean
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
-
-
-
-
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 classObjectVector
- Returns:
- clone of current ObjectStack
- Throws:
java.lang.CloneNotSupportedException
-
-