pivot.collections.concurrent
Class SynchronizedStack<T>

java.lang.Object
  extended by pivot.collections.concurrent.SynchronizedCollection<T>
      extended by pivot.collections.concurrent.SynchronizedList<T>
          extended by pivot.collections.concurrent.SynchronizedStack<T>
All Implemented Interfaces:
Iterable<T>, Collection<T>, List<T>, Sequence<T>, Stack<T>

public class SynchronizedStack<T>
extends SynchronizedList<T>
implements Stack<T>

Synchronized implementation of the Stack interface.

Author:
gbrown

Nested Class Summary
 
Nested classes/interfaces inherited from interface pivot.collections.List
List.ListListenerList<T>
 
Nested classes/interfaces inherited from interface pivot.collections.Sequence
Sequence.Search, Sequence.Sort, Sequence.Tree
 
Field Summary
 
Fields inherited from class pivot.collections.concurrent.SynchronizedCollection
collection
 
Constructor Summary
SynchronizedStack(Stack<T> stack)
           
 
Method Summary
 T peek()
          Returns the item on top of the stack without removing it from the stack.
 T poke(T item)
          Replaces the item on top of the stack.
 T pop()
          Removes an item from the top of the stack, blocking if the stack is currently empty.
 void push(T item)
          "Pushes" an item onto the stack.
 
Methods inherited from class pivot.collections.concurrent.SynchronizedList
add, clear, get, getLength, getListListeners, indexOf, insert, remove, remove, update
 
Methods inherited from class pivot.collections.concurrent.SynchronizedCollection
getComparator, iterator, setComparator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface pivot.collections.List
add, clear, getLength, getListListeners, insert, remove, setComparator, update
 
Methods inherited from interface pivot.collections.Sequence
get, indexOf, remove
 
Methods inherited from interface pivot.collections.Collection
getComparator
 
Methods inherited from interface java.lang.Iterable
iterator
 

Constructor Detail

SynchronizedStack

public SynchronizedStack(Stack<T> stack)
Method Detail

push

public void push(T item)
Description copied from interface: Stack
"Pushes" an item onto the stack. If the stack is unsorted, the item is added at the top of the stack (getLength()). Otherwise, it is inserted at the appropriate index.

Specified by:
push in interface Stack<T>
Parameters:
item - The item to push onto the stack.

pop

public T pop()
Removes an item from the top of the stack, blocking if the stack is currently empty.

Specified by:
pop in interface Stack<T>
Returns:
The item at the top of the stack, or null if the removing thread was interrupted.

peek

public T peek()
Description copied from interface: Stack
Returns the item on top of the stack without removing it from the stack. Returns null if the stack contains no items. Will also return null if the top item in the stack is null. getLength() can be used to distinguish between these two cases.

Specified by:
peek in interface Stack<T>

poke

public T poke(T item)
Description copied from interface: Stack
Replaces the item on top of the stack.

Specified by:
poke in interface Stack<T>