org.glassfish.gmbal.generic
Class MarkStack<E>

java.lang.Object
  extended by org.glassfish.gmbal.generic.MarkStack<E>

public final class MarkStack<E>
extends Object

A stack with additional operations that support recording the current top of stack as a mark, and then later popping all items pushed since the last mark call.


Constructor Summary
MarkStack()
           
 
Method Summary
 boolean isEmpty()
          Return true iff the stack is empty.
 void mark()
          Record the current position in the stack for a subsequent popMark call.
 E peek()
          Return the top element of the stack.
 E pop()
          Return the top element of the stack and remove it from the stack.
 List<E> popMark()
          Return an ordered list of stack elements starting with the element that was on top of the stack when mark was called.
 E push(E elem)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarkStack

public MarkStack()
Method Detail

push

public E push(E elem)

pop

public E pop()
Return the top element of the stack and remove it from the stack.

Throws:
EmptyStackException - is thrown if the stack is empty.
IllegalStateException - if an attempt is made to pop past the top mark.

isEmpty

public boolean isEmpty()
Return true iff the stack is empty.


peek

public E peek()
Return the top element of the stack. Does not change the stack.

Throws:
EmptyStackException - is thrown if the stack is empty.

mark

public void mark()
Record the current position in the stack for a subsequent popMark call. This allow marking the start of a related group of items on the stack that can be popped together later by popMark. Multiple mark calls are supported.


popMark

public List<E> popMark()
Return an ordered list of stack elements starting with the element that was on top of the stack when mark was called.



Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.