|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jasig.portal.utils.BlockingStack
public class BlockingStack
A simple FILO stack that has MIN/MAX capacity and that blocks if either push/pop would result in violation of these limits. Default values for min/max are 0/infinite
Field Summary | |
---|---|
(package private) int |
maxSize
|
(package private) int |
minSize
|
(package private) java.util.Stack |
stack
|
Constructor Summary | |
---|---|
BlockingStack()
|
|
BlockingStack(int max)
|
|
BlockingStack(int min,
int max)
Construct a new blocking stack with predefined max/min limits |
Method Summary | |
---|---|
boolean |
empty()
|
int |
getMaxSize()
|
int |
getMinSize()
|
java.lang.Object |
nonBlockingPop()
Regular, non-blocking pop |
boolean |
nonBlockingPush(java.lang.Object o)
Regular, non-blocking push. |
java.lang.Object |
pop()
Remove object from the top of the stack |
void |
push(java.lang.Object o)
Add new object to the top of the stack |
boolean |
remove(java.lang.Object o)
Find and remove a specific object from the stack |
void |
setLimits(int max,
int min)
Set the stack limits. |
void |
setMaxSize(int max)
|
void |
setMinSize(int min)
|
int |
size()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
int maxSize
int minSize
volatile java.util.Stack stack
Constructor Detail |
---|
BlockingStack()
BlockingStack(int min, int max)
BlockingStack(int max)
Method Detail |
---|
public boolean empty()
public void push(java.lang.Object o) throws java.lang.InterruptedException
o
- object to be placed on the stack
java.lang.InterruptedException
public java.lang.Object pop() throws java.lang.InterruptedException
java.lang.InterruptedException
- if the wait was interruptedpublic java.lang.Object nonBlockingPop() throws java.util.EmptyStackException
java.util.EmptyStackException
public boolean nonBlockingPush(java.lang.Object o)
public void setLimits(int max, int min)
public boolean remove(java.lang.Object o)
public int getMaxSize()
public int getMinSize()
public void setMaxSize(int max)
public void setMinSize(int min)
public int size()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |