OpenNMS API 1.2.9

## org.opennms.core.queue
Interface FifoQueue

All Known Subinterfaces:
  BoundedFifoQueue, ClosableFifoQueue, NotifiableInputFifoQueue, NotifiableOutputFifoQueue

All Known Implementing Classes:
  FifoQueueImpl, IPGenerator, RunnableConsumerThreadPool.SizingFifoQueue

public interface FifoQueue

This interface defines a queue that uses F irst In, F irst O ut semantics when adding and removing objects. Each object that is added to the queue is effectively placed at the end of the list of previous elements. Each call to `remove` will result in the removal of the next element, or the oldest element in the queue.

Author:
  Brian Weaver , OpenNMS

Method Summary
`void` `add(java.lang.Object element)` Inserts a new element into the queue.
`boolean` `add(java.lang.Object element, long timeout)` Inserts a new element into the queue.
`boolean` `isEmpty()` Used to test if the current queue has no stored elements.
`java.lang.Object` `remove()` Removes the oldest element from the queue.
`java.lang.Object` `remove(long timeout)` Removes the next element from the queue if one becomes available before the timeout expires.
`int` `size()` Returns the current number of elements that are in the queue.

Method Detail

### add

    public void add(java.lang.Object element)
             throws FifoQueueException,
                    java.lang.InterruptedException

  Inserts a new element into the queue.

  Parameters:
    `element` - The object to append to the queue.
  Throws:
    `FifoQueueException` - Thrown if a queue error occurs.
    `java.lang.InterruptedException` - Thrown if the thread is interrupted.

### add

    public boolean add(java.lang.Object element,
                       long timeout)
                throws FifoQueueException,
                       java.lang.InterruptedException

  Inserts a new element into the queue. If the queue has reached an implementation limit and the `timeout` expires, then a false value is returned to the caller.

  Parameters:
    `element` - The object to append to the queue.
    `timeout` - The time to wait on the insertion to succeed.
  Returns:
    True if the element was successfully added to the queue before the timeout expired, false otherwise.
  Throws:
    `FifoQueueException` - Thrown if a queue error occurs.
    `java.lang.InterruptedException` - Thrown if the thread is interrupted.
    `java.lang.UnsupportedOperationException` - Thrown if the method is not supported.

### remove

    public java.lang.Object remove()
                            throws FifoQueueException,
                                   java.lang.InterruptedException

  Removes the oldest element from the queue.

  Returns:
    The oldest object in the queue.
  Throws:
    `FifoQueueException` - Thrown if a queue error occurs.
    `java.lang.InterruptedException` - Thrown if the thread is interrupted.

### remove

    public java.lang.Object remove(long timeout)
                            throws FifoQueueException,
                                   java.lang.InterruptedException

  Removes the next element from the queue if one becomes available before the timeout expires. If the timeout expires before an element is available then a `null` reference is returned to the caller.

  Parameters:
    `timeout` - The time to wait on an object to be available.
  Returns:
    The oldest object in the queue, or `null` if one is not available.
  Throws:
    `FifoQueueException` - Thrown if a queue error occurs.
    `java.lang.InterruptedException` - Thrown if the thread is interrupted.
    `java.lang.UnsupportedOperationException` - Thrown if the method is not supported.

### size

    public int size()

  Returns the current number of elements that are in the queue.

  Returns:
    The number of elements in the queue.

### isEmpty

    public boolean isEmpty()

  Used to test if the current queue has no stored elements.

  Returns:
    True if the queue is empty.

OpenNMS API 1.2.9

Generated by ranger on May 19 2007 2335.