Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jasig.portal.utils
Class BlockingQueue

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

    public class BlockingQueue

extends java.lang.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

Field Summary
`(package private) int` | `maxSize`
`(package private) int` | `minSize`
`(package private) java.util.LinkedList` | `queue`

Constructor Summary
`BlockingQueue()`
`BlockingQueue(int max)`
`BlockingQueue(int min, int max)` Construct a new blocking queue with predefined max/min limits

Method Summary
`java.lang.Object` | `dequeue()` Remove object from the beginning of the queue
`void` | `enqueue(java.lang.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`

Field Detail

### maxSize

    int maxSize

### minSize

    int minSize

### queue

    volatile java.util.LinkedList queue

Constructor Detail

### BlockingQueue

    BlockingQueue()

### BlockingQueue

    BlockingQueue(int min,
                  int max)

  Construct a new blocking queue with predefined max/min limits

### BlockingQueue

    BlockingQueue(int max)

Method Detail

### enqueue

    public void enqueue(java.lang.Object o)
                 throws java.lang.InterruptedException

  Add new object to the end of the queue

  Parameters:
    `o` - object to be placed on the queue
  Throws:
    `java.lang.InterruptedException`

### dequeue

    public java.lang.Object dequeue()
                             throws java.lang.InterruptedException

  Remove object from the beginning of the queue

  Throws:
    `java.lang.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()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD