org.jasig.portal.utils
Class BlockingQueue

java.lang.Object
  extended by org.jasig.portal.utils.BlockingQueue

public class BlockingQueue
extends Object

A simple FIFO queue that has MIN/MAX capacity and that blocks if either enqueue/dequeue would result in violation of these limits. Default values for min/max are 0/infinite

Author:
Peter Kharchenko

Method Summary
 Object dequeue()
          Remove object from the beginning of the queue
 void enqueue(Object o)
          Add new object to the end of the queue
 int getMaxSize()
           
 int getMinSize()
           
 void setLimits(int max, int min)
          Set the queue 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
 

Method Detail

enqueue

public void enqueue(Object o)
             throws InterruptedException
Add new object to the end of the queue

Parameters:
o - object to be placed on the queue
Throws:
InterruptedException

dequeue

public Object dequeue()
               throws InterruptedException
Remove object from the beginning of the queue

Throws:
InterruptedException - if the wait was interrupted

setLimits

public void setLimits(int max,
                      int min)
Set the queue limits. To specify a queue without an upper bound (that is max=inifinity) use max value of -1


getMaxSize

public int getMaxSize()

getMinSize

public int getMinSize()

setMaxSize

public void setMaxSize(int max)

setMinSize

public void setMinSize(int min)

size

public int size()


Copyright © 2010 Jasig. All Rights Reserved.