## org.apache.axis.ime.internal.util
Class NonPersistentKeyedBuffer

    java.lang.Object
      |
      +--org.apache.axis.ime.internal.util.NonPersistentKeyedBuffer

All Implemented Interfaces:
  KeyedBuffer

public class NonPersistentKeyedBuffer
extends java.lang.Object
implements KeyedBuffer

Creates a non-persistent KeyedBuffer. Queued messages are stored in memory. If the buffer instance is destroyed, so is the Queue.

Author:
  James M Snell (jasnell@us.ibm.com)

Nested Class Summary
`protected static class` `NonPersistentKeyedBuffer.KeyedNode`
`protected static class` `NonPersistentKeyedBuffer.KeyedQueue`
`protected static class` `NonPersistentKeyedBuffer.KeyedQueueIterator`

Field Summary
`protected static org.apache.commons.logging.Log` `log`

Constructor Summary
`NonPersistentKeyedBuffer(ThreadPool workers)`

Method Summary
`java.lang.Object` `cancel(java.lang.Object key)` Cancel a message that has been put on the channel.
`java.lang.Object` `get()` Select and remove the next object in the buffer (does not wait for a message to be put into the buffer)
`java.lang.Object` `get(java.lang.Object key)` Select and remove the specified object in the buffer (does not wait for a message to be put into the buffer)
`java.lang.Object` `peek()` Select, but do not remove the next message on the channel.
`java.lang.Object[]` `peekAll()` Select, but do not remove all messages on the channel.
`void` `put(java.lang.Object key, java.lang.Object object)` Put a message onto the channel
`java.lang.Object` `select()` Select and remove the next message in the channel If a message is not available, wait indefinitely for one
`java.lang.Object` `select(long timeout)` Select and remove the next message in the channel If a message is not available, wait the specified amount of time for one
`java.lang.Object` `select(java.lang.Object key)` Select and remove a specific message in the channel If the message is not available, wait indefinitely for one to be available
`java.lang.Object` `select(java.lang.Object key, long timeout)` Select and remove a specific message in the channel If the message is not available, wait the specified amount of time for one
`java.lang.Object[]` `selectAll()` Select and remove all of the messages currently in the channel (useful for bulk operations).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    protected static org.apache.commons.logging.Log log

Constructor Detail

### NonPersistentKeyedBuffer

    public NonPersistentKeyedBuffer(ThreadPool workers)

Method Detail

### peek

    public java.lang.Object peek()

  Description copied from interface: `KeyedBuffer`
  Select, but do not remove the next message on the channel. If one does not exist, return null

  Specified by:
    `peek` in interface `KeyedBuffer`

### peekAll

    public java.lang.Object[] peekAll()

  Description copied from interface: `KeyedBuffer`
  Select, but do not remove all messages on the channel. This method will not block.

  Specified by:
    `peekAll` in interface `KeyedBuffer`

### put

    public void put(java.lang.Object key,
                    java.lang.Object object)

  Description copied from interface: `KeyedBuffer`
  Put a message onto the channel

  Specified by:
    `put` in interface `KeyedBuffer`

### cancel

    public java.lang.Object cancel(java.lang.Object key)

  Description copied from interface: `KeyedBuffer`
  Cancel a message that has been put on the channel. Unlike select(Object key), this method will not block and wait for a message with the specified key to be put onto the MessageChannel.

  Specified by:
    `cancel` in interface `KeyedBuffer`

### selectAll

    public java.lang.Object[] selectAll()

  Description copied from interface: `KeyedBuffer`
  Select and remove all of the messages currently in the channel (useful for bulk operations). This method will not block. It is also not guaranteed that the Channel will be empty once this operation returns (it is possible that another thread may put new MessageContexts into the channel before this operation completes)

  Specified by:
    `selectAll` in interface `KeyedBuffer`

### select

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

  Description copied from interface: `KeyedBuffer`
  Select and remove the next message in the channel If a message is not available, wait indefinitely for one

  Specified by:
    `select` in interface `KeyedBuffer`
    `java.lang.InterruptedException`

### select

    public java.lang.Object select(long timeout)
                            throws java.lang.InterruptedException

  Description copied from interface: `KeyedBuffer`
  Select and remove the next message in the channel If a message is not available, wait the specified amount of time for one

  Specified by:
    `select` in interface `KeyedBuffer`
    `java.lang.InterruptedException`

### select

    public java.lang.Object select(java.lang.Object key)
                            throws java.lang.InterruptedException

  Description copied from interface: `KeyedBuffer`
  Select and remove a specific message in the channel If the message is not available, wait indefinitely for one to be available

  Specified by:
    `select` in interface `KeyedBuffer`
    `java.lang.InterruptedException`

### select

    public java.lang.Object select(java.lang.Object key,
                                   long timeout)
                            throws java.lang.InterruptedException

  Description copied from interface: `KeyedBuffer`
  Select and remove a specific message in the channel If the message is not available, wait the specified amount of time for one

  Specified by:
    `select` in interface `KeyedBuffer`
    `java.lang.InterruptedException`

### get

    public java.lang.Object get()

  Description copied from interface: `KeyedBuffer`
  Select and remove the next object in the buffer (does not wait for a message to be put into the buffer)

  Specified by:
    `get` in interface `KeyedBuffer`

### get

    public java.lang.Object get(java.lang.Object key)

  Description copied from interface: `KeyedBuffer`
  Select and remove the specified object in the buffer (does not wait for a message to be put into the buffer)

  Specified by:
    `get` in interface `KeyedBuffer`

Copyright © 2003 Apache Web Services Project. All Rights Reserved.