Package org.apache.xml.utils
Class ObjectStack
java.lang.Object
org.apache.xml.utils.ObjectVector
org.apache.xml.utils.ObjectStack
- All Implemented Interfaces:
Cloneable
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
ConstructorsConstructorDescriptionDefault constructor.ObjectStack
(int blocksize) Construct a ObjectVector, using the given block size.Copy constructor for ObjectStack -
Method Summary
Modifier and TypeMethodDescriptionclone()
Returns clone of current ObjectStackboolean
empty()
Tests if this stack is empty.peek()
Looks at the object at the top of this stack without removing it from the stack.peek
(int n) Looks at the object at the position the stack counting down n items.pop()
Removes the object at the top of this stack and returns that object as the value of this function.Pushes an item onto the top of this stack.void
quickPop
(int n) Quickly pops a number of items from the stack.int
Returns where an object is on this stack.void
Sets an object at a the top of the statckMethods 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 Details
-
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
Copy constructor for ObjectStack- Parameters:
v
- ObjectStack to copy
-
-
Method Details
-
push
Pushes an item onto the top of this stack.- Parameters:
i
- the int to be pushed onto this stack.- Returns:
- the
item
argument.
-
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
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:
EmptyStackException
- if this stack is empty.
-
peek
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:
EmptyStackException
- if this stack is empty.
-
setTop
Sets an object at a the top of the statck- Parameters:
val
- object to set at the top- Throws:
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
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
Returns clone of current ObjectStack- Overrides:
clone
in classObjectVector
- Returns:
- clone of current ObjectStack
- Throws:
CloneNotSupportedException
-