com.ibm.as400.access
Class KeyedDataQueue

java.lang.Object
  extended by com.ibm.as400.access.BaseDataQueue
      extended by com.ibm.as400.access.KeyedDataQueue
All Implemented Interfaces:
Serializable

public class KeyedDataQueue
extends BaseDataQueue

The KeyedDataQueue class represents a keyed data queue object.

See Also:
Serialized Form

Constructor Summary
Constructor and Description
KeyedDataQueue()
          Constructs a KeyedDataQueue object.
KeyedDataQueue(AS400 system, String path)
          Constructs a KeyedDataQueue object.
 
Method Summary
Modifier and Type Method and Description
 void clear(byte[] key)
          Removes all entries that match the key from the data queue.
 void clear(String key)
          Removes all entries that match the key from the data queue.
 void create(int keyLength, int maxEntryLength)
          Creates a keyed data queue on the system.
 void create(int keyLength, int maxEntryLength, String authority, boolean saveSenderInformation, boolean forceToAuxiliaryStorage, String description)
          Creates a keyed data queue on the system.
 int getKeyLength()
          Returns the length of the keys (in bytes) on this queue.
 KeyedDataQueueEntry peek(byte[] key)
          Reads an entry from the data queue without removing it from the queue.
 KeyedDataQueueEntry peek(byte[] key, int wait, String searchType)
          Reads an entry from the data queue without removing it from the queue.
 KeyedDataQueueEntry peek(String key)
          Reads an entry from the data queue without removing it from the queue.
 KeyedDataQueueEntry peek(String key, int wait, String searchType)
          Reads an entry from the data queue without removing it from the queue.
 KeyedDataQueueEntry read(byte[] key)
          Reads an entry from the data queue and removes it from the queue.
 KeyedDataQueueEntry read(byte[] key, int wait, String searchType)
          Reads an entry from the data queue and removes it from the queue.
 KeyedDataQueueEntry read(String key)
          Reads an entry from the data queue and removes it from the queue.
 KeyedDataQueueEntry read(String key, int wait, String searchType)
          Reads an entry from the data queue and removes it from the queue.
 String toString()
          Returns the String representation of this keyed data queue object.
 void write(byte[] key, byte[] data)
          Writes an entry to the data queue.
 void write(String key, String data)
          Writes a string entry to the data queue.
 
Methods inherited from class com.ibm.as400.access.BaseDataQueue
addDataQueueListener, addObjectListener, addPropertyChangeListener, addVetoableChangeListener, clear, delete, exists, getCcsid, getDescription, getForceToAuxiliaryStorage, getMaxEntryLength, getName, getPath, getSaveSenderInformation, getSystem, isFIFO, refreshAttributes, removeDataQueueListener, removeObjectListener, removePropertyChangeListener, removeVetoableChangeListener, setCcsid, setPath, setSystem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KeyedDataQueue

public KeyedDataQueue()
Constructs a KeyedDataQueue object. The system and path properties must be set before using any method requiring a connection to the system.


KeyedDataQueue

public KeyedDataQueue(AS400 system,
                      String path)
Constructs a KeyedDataQueue object.

Parameters:
system - The system object representing the system on which the data queue exists.
path - The fully qualified integrated file system path name of the data queue. The library and queue name must each be 10 characters or less.
Method Detail

clear

public void clear(byte[] key)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  IOException,
                  IllegalObjectTypeException,
                  InterruptedException,
                  ObjectDoesNotExistException
Removes all entries that match the key from the data queue.

Parameters:
key - The key with which data queue entries will be compared. All entries whose key is equal to this parameter will be removed from the queue.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

clear

public void clear(String key)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  IOException,
                  IllegalObjectTypeException,
                  InterruptedException,
                  ObjectDoesNotExistException
Removes all entries that match the key from the data queue.

Parameters:
key - The key with which data queue entries will be compared. All entries whose key is equal to this parameter will be removed from the queue.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

create

public void create(int keyLength,
                   int maxEntryLength)
            throws AS400SecurityException,
                   ErrorCompletingRequestException,
                   IOException,
                   InterruptedException,
                   ObjectAlreadyExistsException,
                   ObjectDoesNotExistException
Creates a keyed data queue on the system. The queue will be created with the following attributes: authority = *LIBCRTAUT, saveSenderInformation = false, forceToAuxiliaryStorage = false, description = (50 blanks).

Parameters:
keyLength - The number of bytes per data queue key. Valid values are 1-256.
maxEntryLength - The maximum number of bytes per data queue entry. Valid values are 1-64512.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
InterruptedException - If this thread is interrupted.
ObjectAlreadyExistsException - If the object already exists on the system.
ObjectDoesNotExistException - If the object does not exist on the system.

create

public void create(int keyLength,
                   int maxEntryLength,
                   String authority,
                   boolean saveSenderInformation,
                   boolean forceToAuxiliaryStorage,
                   String description)
            throws AS400SecurityException,
                   ErrorCompletingRequestException,
                   IOException,
                   InterruptedException,
                   ObjectAlreadyExistsException,
                   ObjectDoesNotExistException
Creates a keyed data queue on the system.

Parameters:
keyLength - The number of bytes per data queue key. Valid values are 1-256.
maxEntryLength - The maximum number of bytes per data queue entry. Valid values are 1-64512.
authority - The public authority for the data queue. Valid values are *ALL, *CHANGE, *EXCLUDE, *USE, *LIBCRTAUT.
saveSenderInformation - Determines if entry origin information will be saved.
forceToAuxiliaryStorage - true if writes are forced to storage before return; false otherwise.
description - The text description. This string must be 50 characters or less.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
InterruptedException - If this thread is interrupted.
ObjectAlreadyExistsException - If the object already exists on the system.
ObjectDoesNotExistException - If the object does not exist on the system.

getKeyLength

public int getKeyLength()
                 throws AS400SecurityException,
                        ErrorCompletingRequestException,
                        IOException,
                        IllegalObjectTypeException,
                        InterruptedException,
                        ObjectDoesNotExistException
Returns the length of the keys (in bytes) on this queue.

Returns:
The length of the keys.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

peek

public KeyedDataQueueEntry peek(byte[] key)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue without removing it from the queue. This method will not wait for entries if there are none on the queue.

Parameters:
key - The array that contains the key used to search for an entry. An entry must have a key equal to this value to be read.
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

peek

public KeyedDataQueueEntry peek(byte[] key,
                                int wait,
                                String searchType)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue without removing it from the queue.

Parameters:
key - The array that contains the key used to search for an entry.
wait - The number of seconds to wait if the queue contains no entries. Negative one (-1) indicates to wait until an entry is available.
searchType - The type of comparison to use to determine if a key is a match. Valid values are EQ (equal), NE (not equal), LT (less than), LE (less than or equal), GT (greater than), and GE (greater than or equal).
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

peek

public KeyedDataQueueEntry peek(String key)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue without removing it from the queue. This method will not wait for entries if there are none on the queue.

Parameters:
key - The string that contains the key used to search for an entry. An entry must have a key equal to this value to be read.
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

peek

public KeyedDataQueueEntry peek(String key,
                                int wait,
                                String searchType)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue without removing it from the queue.

Parameters:
key - The string that contains the key used to search for an entry.
wait - The number of seconds to wait if the queue contains no entries. Negative one (-1) means to wait until an entry is available.
searchType - The type of comparison to use to determine if a key is a match. Valid values are EQ (equal), NE (not equal), LT (less than), LE (less than or equal), GT (greater than), and GE (greater than or equal).
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

read

public KeyedDataQueueEntry read(byte[] key)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue and removes it from the queue. This method will not wait for entries if there are none on the queue.

Parameters:
key - The array that contains the key used to search for an entry. An entry must have a key equal to this value to be read.
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

read

public KeyedDataQueueEntry read(byte[] key,
                                int wait,
                                String searchType)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue and removes it from the queue.

Parameters:
key - The array that contains the key used to search for an entry.
wait - The number of seconds to wait if the queue contains no entries. Negative one (-1) indicates to wait until an entry is available.
searchType - The type of comparison to use to determine if a key is a match. Valid values are EQ (equal), NE (not equal), LT (less than), LE (less than or equal), GT (greater than), and GE (greater than or equal).
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

read

public KeyedDataQueueEntry read(String key)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue and removes it from the queue. This method will not wait for entries if there are none on the queue.

Parameters:
key - The string that contains the key used to search for an entry. An entry must have a key equal to this value to be read.
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

read

public KeyedDataQueueEntry read(String key,
                                int wait,
                                String searchType)
                         throws AS400SecurityException,
                                ErrorCompletingRequestException,
                                IOException,
                                IllegalObjectTypeException,
                                InterruptedException,
                                ObjectDoesNotExistException
Reads an entry from the data queue and removes it from the queue.

Parameters:
key - The string that contains the key used to search for an entry.
wait - The number of seconds to wait if the queue contains no entries. Negative one (-1) indicates to wait until an entry is available.
searchType - The type of comparison to use to determine if a key is a match. Valid values are EQ (equal), NE (not equal), LT (less than), LE (less than or equal), GT (greater than), and GE (greater than or equal).
Returns:
The entry read from the queue. If no entries were available, null is returned.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

toString

public String toString()
Returns the String representation of this keyed data queue object.

Overrides:
toString in class BaseDataQueue
Returns:
The String representation of this keyed data queue object.

write

public void write(byte[] key,
                  byte[] data)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  IOException,
                  IllegalObjectTypeException,
                  InterruptedException,
                  ObjectDoesNotExistException
Writes an entry to the data queue.

Parameters:
key - The array that contains the key for this entry.
data - The array of bytes to write to the queue.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.

write

public void write(String key,
                  String data)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  IOException,
                  IllegalObjectTypeException,
                  InterruptedException,
                  ObjectDoesNotExistException
Writes a string entry to the data queue.

Parameters:
key - The string that contains the key for this entry.
data - The string to write to the queue.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
IOException - If an error occurs while communicating with the system.
IllegalObjectTypeException - If the object on the system is not the required type.
InterruptedException - If this thread is interrupted.
ObjectDoesNotExistException - If the object does not exist on the system.