com.ibm.as400.access
Class MessageQueue

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

public class MessageQueue
extends Object
implements Serializable

Represents a message queue object on the system. If no message queue path is set, then the default is CURRENT, which represents the current user's message queue. If necessary, the name of the message queue will be retrieved from the current user's user profile.

QueuedMessage objects have many attributes. Only some of these attribute values are set, depending on how a QueuedMessage object is created. The following is a list of attributes whose values are set on QueuedMessage objects returned in a list of messages:

The following is a list of attributes whose values are set on objects returned by receive():

See Also:
QueuedMessage, Serialized Form

Field Summary
Modifier and Type Field and Description
static String ALL
          Constant referring to all messages in the message queue.
static String ANY
          Constant referring to any message in the message queue.
static String BYKEY
          Constant referring to a message identified by a key.
static String COMPLETION
          Constant referring to completion messages.
static String COPY
          Constant referring to the sender's copy of a previously sent inquiry message.
static String CURRENT
          Constant referring to the current user's message queue.
static String DIAGNOSTIC
          Constant referring to diagnostic messages.
static String FIRST
          Constant referring to the first message in the message queue.
static String INFORMATIONAL
          Constant referring to informational messages.
static String INQUIRY
          Constant referring to inquiry messages.
static String KEEP_UNANSWERED
          Constant referring to all messages in the message queue except unanswered inquiry and unanswered senders' copy messages.
static String LAST
          Constant referring to the last message in the message queue.
static String MESSAGES_NEED_REPLY
          Constant referring to messages that need a reply.
static String MESSAGES_NO_NEED_REPLY
          Constant referring to messages that do not need a reply.
static String NEW
          Constant referring to all new messages in the message queue.
static byte[] NEWEST
          Constant referring to the message key for the newest message in the queue.
static String NEXT
          Constant referring to the next message in the message queue.
static String OLD
          Constant referring to all old messages in the message queue.
static byte[] OLDEST
          Constant referring to the message key for the oldest message in the queue.
static String PREVIOUS
          Constant referring to the previous message in the message queue.
static String REMOVE
          Constant indicating that the message should be removed from the message queue.
static String REPLY
          Constant referring to the reply to an inquiry message.
static String SAME
          Constant indicating that the message should remain in the message queue without changing its new or old designation.
static String SENDERS_COPY_NEED_REPLY
          Constant referring to the sender's copies of messages that need replies.
 
Constructor Summary
Constructor and Description
MessageQueue()
          Constructs a MessageQueue object.
MessageQueue(AS400 system)
          Constructs a MessageQueue object.
MessageQueue(AS400 system, String path)
          Constructs a MessageQueue object.
 
Method Summary
Modifier and Type Method and Description
 void addPropertyChangeListener(PropertyChangeListener listener)
          Adds a PropertyChangeListener.
 void addVetoableChangeListener(VetoableChangeListener listener)
          Adds a VetoableChangeListener.
 void close()
          Closes the message list on the system.
protected  void finalize()
          Closes the message list on the system when this object is garbage collected.
 int getHelpTextFormatting()
          Returns the status of help text formatting.
 int getLength()
          Returns the number of messages in the list.
 boolean getListDirection()
          Returns the list direction.
 Enumeration getMessages()
          Returns the list of messages in the message queue.
 QueuedMessage[] getMessages(int listOffset, int number)
          Returns a subset of the list of messages in the message queue.
 String getPath()
          Returns the fully qualified integrated file system path name of the message queue, or CURRENT to refer to the user's default message queue.
 String getSelection()
          Deprecated. Use isSelectMessagesNeedReply(), isSelectMessagesNoNeedReply(), and isSelectSendersCopyMessagesNeedReply() instead. The value returned by this method may not accurately reflect the actual selection criteria used to filter the list of messages.
 int getSeverity()
          Returns the severity of the messages which are returned.
 boolean getSort()
          Returns whether or not messages will be sorted when ALL is specified for the selection criteria.
 AS400 getSystem()
          Returns the system object representing the system on which the message queue exists.
 byte[] getUserStartingMessageKey()
          Returns the user starting message key, if one has been set.
 byte[] getWorkstationStartingMessageKey()
          Returns the workstation starting message key, if one has been set.
 boolean isSelectMessagesNeedReply()
          Returns whether or not messages that need a reply are included in the list of returned messages.
 boolean isSelectMessagesNoNeedReply()
          Returns whether or not messages that do not need a reply are included in the list of returned messages.
 boolean isSelectSendersCopyMessagesNeedReply()
          Returns whether or not sender's copy messages that need a reply are included in the list of returned messages.
 void load()
          Loads the list of messages on the system.
 QueuedMessage receive(byte[] messageKey)
          Receives a message from the message queue by key.
 QueuedMessage receive(byte[] messageKey, int waitTime, String messageAction, String messageType)
          Receives a message from the message queue.
 void remove()
          Remove all messages from the message queue.
 void remove(byte[] messageKey)
          Removes a message from the message queue.
 void remove(String messageType)
          Remove messages from the message queue.
 void removePropertyChangeListener(PropertyChangeListener listener)
          Removes the PropertyChangeListener.
 void removeVetoableChangeListener(VetoableChangeListener listener)
          Removes the VetoableChangeListener.
 void reply(byte[] messageKey, String replyText)
          Replies to and removes a message.
 void reply(byte[] messageKey, String replyText, boolean remove)
          Replies to and removes a message if requested.
 void sendInformational(String messageText)
          Sends an informational message to the message queue.
 void sendInformational(String messageID, String messageFile)
          Sends an informational message to the message queue.
 void sendInformational(String messageID, String messageFile, byte[] substitutionData)
          Sends an informational message to the message queue.
 byte[] sendInquiry(String messageText, String replyMessageQueue)
          Sends an inquiry message to the message queue.
 byte[] sendInquiry(String messageID, String messageFile, byte[] substitutionData, String replyMessageQueue)
          Sends an inquiry message to the message queue.
 byte[] sendInquiry(String messageID, String messageFile, String replyMessageQueue)
          Sends an inquiry message to the message queue.
 void setHelpTextFormatting(int helpTextFormatting)
          Sets the help text formatting value.
 void setListDirection(boolean listDirection)
          Sets the list direction.
 void setPath(String path)
          Sets the fully qualified integrated file system path name of the message queue.
 void setSelection(String selection)
          Deprecated. Use setSelectMessagesNeedReply(boolean), setSelectMessagesNoNeedReply(boolean), and setSelectSendersCopyMessagesNeedReply(boolean) instead.
 void setSelectMessagesNeedReply(boolean selectMessagesNeedReply)
          Sets whether or not to include messages that need a reply in the returned list of messages.
 void setSelectMessagesNoNeedReply(boolean selectMessagesNoNeedReply)
          Sets whether or not to include messages that do not need a reply in the returned list of messages.
 void setSelectSendersCopyMessagesNeedReply(boolean selectSendersCopyMessagesNeedReply)
          Sets whether or not to include sender's copy messages that need a reply in the returned list of messages.
 void setSeverity(int severity)
          Sets the severity of the messages which are returned.
 void setSort(boolean sort)
          Sets whether the list should be sorted by message type when ALL messages are selected for retrieval.
 void setSystem(AS400 system)
          Sets the system.
 void setUserStartingMessageKey(byte[] userStartingMessageKey)
          Sets the starting message key used to begin searching for messages to list from the corresponding entry in the message queue.
 void setWorkstationStartingMessageKey(byte[] workstationStartingMessageKey)
          Sets the starting message key used to begin searching for messages to list from the corresponding entry in the message queue.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL

public static final String ALL
Constant referring to all messages in the message queue.

See Also:
Constant Field Values

ANY

public static final String ANY
Constant referring to any message in the message queue.

See Also:
Constant Field Values

BYKEY

public static final String BYKEY
Constant referring to a message identified by a key.

See Also:
Constant Field Values

COMPLETION

public static final String COMPLETION
Constant referring to completion messages.

See Also:
Constant Field Values

COPY

public static final String COPY
Constant referring to the sender's copy of a previously sent inquiry message.

See Also:
Constant Field Values

CURRENT

public static final String CURRENT
Constant referring to the current user's message queue.

See Also:
Constant Field Values

DIAGNOSTIC

public static final String DIAGNOSTIC
Constant referring to diagnostic messages.

See Also:
Constant Field Values

FIRST

public static final String FIRST
Constant referring to the first message in the message queue.

See Also:
Constant Field Values

INFORMATIONAL

public static final String INFORMATIONAL
Constant referring to informational messages.

See Also:
Constant Field Values

INQUIRY

public static final String INQUIRY
Constant referring to inquiry messages.

See Also:
Constant Field Values

KEEP_UNANSWERED

public static final String KEEP_UNANSWERED
Constant referring to all messages in the message queue except unanswered inquiry and unanswered senders' copy messages.

See Also:
Constant Field Values

LAST

public static final String LAST
Constant referring to the last message in the message queue.

See Also:
Constant Field Values

MESSAGES_NEED_REPLY

public static final String MESSAGES_NEED_REPLY
Constant referring to messages that need a reply.

See Also:
Constant Field Values

MESSAGES_NO_NEED_REPLY

public static final String MESSAGES_NO_NEED_REPLY
Constant referring to messages that do not need a reply.

See Also:
Constant Field Values

NEW

public static final String NEW
Constant referring to all new messages in the message queue. New messages are those that have not been received.

See Also:
Constant Field Values

NEWEST

public static final byte[] NEWEST
Constant referring to the message key for the newest message in the queue.


NEXT

public static final String NEXT
Constant referring to the next message in the message queue.

See Also:
Constant Field Values

OLD

public static final String OLD
Constant referring to all old messages in the message queue. Old messages are those that have already been received.

See Also:
Constant Field Values

OLDEST

public static final byte[] OLDEST
Constant referring to the message key for the oldest message in the queue.


PREVIOUS

public static final String PREVIOUS
Constant referring to the previous message in the message queue.

See Also:
Constant Field Values

REMOVE

public static final String REMOVE
Constant indicating that the message should be removed from the message queue.

See Also:
Constant Field Values

REPLY

public static final String REPLY
Constant referring to the reply to an inquiry message.

See Also:
Constant Field Values

SAME

public static final String SAME
Constant indicating that the message should remain in the message queue without changing its new or old designation.

See Also:
Constant Field Values

SENDERS_COPY_NEED_REPLY

public static final String SENDERS_COPY_NEED_REPLY
Constant referring to the sender's copies of messages that need replies.

See Also:
Constant Field Values
Constructor Detail

MessageQueue

public MessageQueue()
Constructs a MessageQueue object. The system must be provided later. The message queue path defaults to CURRENT.

See Also:
setPath(java.lang.String), setSystem(com.ibm.as400.access.AS400)

MessageQueue

public MessageQueue(AS400 system)
Constructs a MessageQueue object. The message queue path defaults to CURRENT.

Parameters:
system - The system object representing the system on which the message queue exists.
See Also:
setPath(java.lang.String)

MessageQueue

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

Parameters:
system - The system object representing the system on which the message queue exists.
path - The fully qualified integrated file system path name of the message queue, or CURRENT to refer to the user's default message queue.
Method Detail

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener. The specified PropertyChangeListener's propertyChange() method will be called each time the value of any bound property is changed.

Parameters:
listener - The listener.
See Also:
removePropertyChangeListener(java.beans.PropertyChangeListener)

addVetoableChangeListener

public void addVetoableChangeListener(VetoableChangeListener listener)
Adds a VetoableChangeListener. The specified VetoableChangeListener's vetoableChange() method will be called each time the value of any constrained property is changed.

Parameters:
listener - The listener.
See Also:
removeVetoableChangeListener(java.beans.VetoableChangeListener)

close

public void close()
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  InterruptedException,
                  IOException,
                  ObjectDoesNotExistException
Closes the message list on the system. This releases any system resources previously in use by this message list.

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

finalize

protected void finalize()
                 throws Throwable
Closes the message list on the system when this object is garbage collected.

Overrides:
finalize in class Object
Throws:
Throwable

getHelpTextFormatting

public int getHelpTextFormatting()
Returns the status of help text formatting. Possible values are:

Returns:
The status of help text formatting.
See Also:
setHelpTextFormatting(int)

getLength

public int getLength()
Returns the number of messages in the list. This method implicitly calls load().

Returns:
The number of messages, or 0 if no list was retrieved.
See Also:
load()

getListDirection

public boolean getListDirection()
Returns the list direction.

Returns:
true if the messages are listed in order from oldest to newest; false if the messages are listed in order from newest to oldest.
See Also:
setListDirection(boolean)

getMessages

public Enumeration getMessages()
                        throws AS400SecurityException,
                               ErrorCompletingRequestException,
                               InterruptedException,
                               IOException,
                               ObjectDoesNotExistException
Returns the list of messages in the message queue. The enumeration retrieves the messages in blocks of 1000. If this does not yield the desired performance or memory usage, please use the getMessages() that returns an array of QueuedMessage objects and accepts a list offset and length. If an error occurs while the Enumeration is loading the next block of messages, a NoSuchElementException will be thrown while the real error will be logged to Trace.ERROR.

Returns:
An Enumeration of QueuedMessage objects.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

getMessages

public QueuedMessage[] getMessages(int listOffset,
                                   int number)
                            throws AS400SecurityException,
                                   ErrorCompletingRequestException,
                                   InterruptedException,
                                   IOException,
                                   ObjectDoesNotExistException
Returns a subset of the list of messages in the message queue. This method allows the user to retrieve the message list from the system in pieces. If a call to load() is made (either implicitly or explicitly), then the messages at a given offset will change, so a subsequent call to getMessages() with the same listOffset and number will most likely not return the same QueuedMessages as the previous call.

Parameters:
listOffset - The offset into the list of messages. This value must be greater than or equal to 0 and less than the list length, or specify -1 to retrieve all of the messages.
number - The number of messages to retrieve out of the list, starting at the specified listOffset. This value must be greater than or equal to 0 and less than or equal to the list length. If the listOffset is -1, this parameter is ignored.
Returns:
The array of retrieved QueuedMessage objects. The length of this array may not necessarily be equal to number, depending upon the size of the list on the system, and the specified listOffset.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
QueuedMessage

getPath

public String getPath()
Returns the fully qualified integrated file system path name of the message queue, or CURRENT to refer to the user's default message queue.

Returns:
The fully qualified integrated file system path name of the message queue, or CURRENT to refer to the user's default message queue.
See Also:
setPath(java.lang.String)

getSelection

public String getSelection()
Deprecated. Use isSelectMessagesNeedReply(), isSelectMessagesNoNeedReply(), and isSelectSendersCopyMessagesNeedReply() instead. The value returned by this method may not accurately reflect the actual selection criteria used to filter the list of messages.

Returns the selection that describes which messages are returned.

Returns:
The selection. Possible values are:
See Also:
setSelection(java.lang.String)

getSeverity

public int getSeverity()
Returns the severity of the messages which are returned.

Returns:
The severity of the messages which are returned.
See Also:
setSeverity(int)

getSort

public boolean getSort()
Returns whether or not messages will be sorted when ALL is specified for the selection criteria. The default is false.

Returns:
true if messages will be sorted by message type; false otherwise.
See Also:
setSort(boolean)

getSystem

public AS400 getSystem()
Returns the system object representing the system on which the message queue exists.

Returns:
The system object representing the system on which the message queue exists. If the system has not been set, null is returned.

getUserStartingMessageKey

public byte[] getUserStartingMessageKey()
Returns the user starting message key, if one has been set.

Returns:
The key, or null if none has been set.
See Also:
setUserStartingMessageKey(byte[])

getWorkstationStartingMessageKey

public byte[] getWorkstationStartingMessageKey()
Returns the workstation starting message key, if one has been set.

Returns:
The key, or null if none has been set.
See Also:
setWorkstationStartingMessageKey(byte[])

isSelectMessagesNeedReply

public boolean isSelectMessagesNeedReply()
Returns whether or not messages that need a reply are included in the list of returned messages. If all three message selection getters return true, it is the equivalent of all messages being included in the list of returned messages. By default, all messages are returned, so this method returns true.

Returns:
true if messages that need a reply are included in the list of returned messages; false if messages that need a reply are excluded from the list of returned messages.
See Also:
isSelectMessagesNoNeedReply(), isSelectSendersCopyMessagesNeedReply(), setSelectMessagesNeedReply(boolean)

isSelectMessagesNoNeedReply

public boolean isSelectMessagesNoNeedReply()
Returns whether or not messages that do not need a reply are included in the list of returned messages. If all three message selection getters return true, it is the equivalent of all messages being included in the list of returned messages. By default, all messages are returned, so this method returns true.

Returns:
true if messages that do not need a reply are included in the list of returned messages; false if messages that do not need a reply are excluded from the list of returned messages.
See Also:
isSelectMessagesNeedReply(), isSelectSendersCopyMessagesNeedReply(), setSelectMessagesNoNeedReply(boolean)

isSelectSendersCopyMessagesNeedReply

public boolean isSelectSendersCopyMessagesNeedReply()
Returns whether or not sender's copy messages that need a reply are included in the list of returned messages. If all three message selection getters return true, it is the equivalent of all messages being included in the list of returned messages. By default, all messages are returned, so this method returns true.

Returns:
true if sender's copy messages that need a reply are included in the list of returned messages; false if sender's copy messages that need a reply are excluded from the list of returned messages.
See Also:
isSelectMessagesNeedReply(), isSelectMessagesNoNeedReply(), setSelectSendersCopyMessagesNeedReply(boolean)

load

public void load()
          throws AS400SecurityException,
                 ErrorCompletingRequestException,
                 InterruptedException,
                 IOException,
                 ObjectDoesNotExistException
Loads the list of messages on the system. This method informs the system to build a list of messages given the previously added attributes to select, retrieve, and sort. This method blocks until the system returns the total number of messages it has compiled. A subsequent call to getMessages() will retrieve the actual message information and attributes for each message in the list from the system.

This method updates the list length.

Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
getLength()

receive

public QueuedMessage receive(byte[] messageKey)
                      throws AS400SecurityException,
                             ErrorCompletingRequestException,
                             InterruptedException,
                             IOException,
                             ObjectDoesNotExistException
Receives a message from the message queue by key. This method receives a message of any type except sender's copy. The message is removed from the message queue. See the list of QueuedMessage attribute values which are set on a received message.

Parameters:
messageKey - The message key.
Returns:
The queued message, or null if the message can not be received.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
QueuedMessage.getKey()

receive

public QueuedMessage receive(byte[] messageKey,
                             int waitTime,
                             String messageAction,
                             String messageType)
                      throws AS400SecurityException,
                             ErrorCompletingRequestException,
                             InterruptedException,
                             IOException,
                             ObjectDoesNotExistException
Receives a message from the message queue. See the list of QueuedMessage attribute values which are set on a received message.

Parameters:
messageKey - The message key, or null if no message key is needed.
waitTime - The number of seconds to wait for the message to arrive in the queue so it can be received. If the message is not received within the specified wait time, null is returned. Special values are:
  • 0 - Do not wait for the message. If the message is not in the queue and you specified a message key, null is returned.
  • -1 - Wait until the message arrives in the queue and is received, no matter how long it takes. The system has no limit for the wait time.
messageAction - The action to take after the message is received. Valid values are:
  • OLD - Keep the message in the message queue and mark it as an old message. You can receive the message again only by using the message key or by specifying the message type NEXT, PREVIOUS, FIRST, or LAST.
  • REMOVE - Remove the message from the message queue. The message key is no longer valid, so you cannot receive the message again.
  • SAME - Keep the message in the message queue without changing its new or old designation. SAME lets you receive the message again later without using the message key.
messageType - The type of message to return. Valid values are:
  • ANY - Receives a message of any type except sender's copy. The message key is optional.
  • COMPLETION - Receives a completion message. The message key is optional.
  • COPY - Receives the sender's copy of a previously sent inquiry message. The message key is required.
  • DIAGNOSTIC - Receives a diagnostic message. The message key is optional.
  • FIRST - Receives the first new or old message in the queue. The message key is disallowed.
  • INFORMATIONAL - Receives an informational message. The message key is optional.
  • INQUIRY - Receives an inquiry message. If the action is REMOVE and a reply to the inquiry message has not been sent yet, the default reply is automatically sent when the inquiry message is received. The message key is optional.
  • LAST - Receives the last new or old message in the queue. The message key is disallowed.
  • NEXT - Receives the next new or old message after the message with the specified key. You can use the special value TOP for the message key. TOP designates the message at the top of the message queue. The message key is required.
  • PREVIOUS - Receives the new or old message before the message with the specified key. The message key is required.
  • REPLY - Receives the reply to an inquiry message. For the message key, you can use the key to the sender's copy of the inquiry or notify message. The message key is optional.
Returns:
The queued message, or null if the message can not be received.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.
See Also:
QueuedMessage.getKey()

remove

public void remove()
            throws AS400SecurityException,
                   ErrorCompletingRequestException,
                   InterruptedException,
                   IOException,
                   ObjectDoesNotExistException
Remove all messages from the message queue.

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

remove

public void remove(byte[] messageKey)
            throws AS400SecurityException,
                   ErrorCompletingRequestException,
                   InterruptedException,
                   IOException,
                   ObjectDoesNotExistException
Removes a message from the message queue.

Parameters:
messageKey - The message key.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

remove

public void remove(String messageType)
            throws AS400SecurityException,
                   ErrorCompletingRequestException,
                   InterruptedException,
                   IOException,
                   ObjectDoesNotExistException
Remove messages from the message queue.

Parameters:
messageType - The type of message to remove. Valid values are:
  • ALL - All messages in the message queue.
  • KEEP_UNANSWERED - All messages in the message queue except unanswered inquiry and unanswered senders' copy messages.
  • NEW - All new messages in the message queue. New messages are those that have not been received.
  • OLD - All old messages in the message queue. Old messages are those that have already been received.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Removes the PropertyChangeListener. If the PropertyChangeListener is not on the list, nothing is done.

Parameters:
listener - The listener object.

removeVetoableChangeListener

public void removeVetoableChangeListener(VetoableChangeListener listener)
Removes the VetoableChangeListener. If the VetoableChangeListener is not on the list, nothing is done.

Parameters:
listener - The listener object.

reply

public void reply(byte[] messageKey,
                  String replyText)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  InterruptedException,
                  IOException,
                  ObjectDoesNotExistException
Replies to and removes a message.

Parameters:
messageKey - The message key.
replyText - The reply. To send the default reply stored in the message description, use blanks for this parameter.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

reply

public void reply(byte[] messageKey,
                  String replyText,
                  boolean remove)
           throws AS400SecurityException,
                  ErrorCompletingRequestException,
                  InterruptedException,
                  IOException,
                  ObjectDoesNotExistException
Replies to and removes a message if requested.

Parameters:
messageKey - The message key.
replyText - The reply. To send the default reply stored in the message description, use blanks for this parameter.
remove - true to remove the inquiry message and the reply from the message queue after the reply is sent, false to keep the inquiry message and the reply after the reply is sent.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInformational

public void sendInformational(String messageID,
                              String messageFile)
                       throws AS400SecurityException,
                              ErrorCompletingRequestException,
                              InterruptedException,
                              IOException,
                              ObjectDoesNotExistException
Sends an informational message to the message queue.

Parameters:
messageID - The message ID.
messageFile - The integrated file system path name of the message file.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInformational

public void sendInformational(String messageID,
                              String messageFile,
                              byte[] substitutionData)
                       throws AS400SecurityException,
                              ErrorCompletingRequestException,
                              InterruptedException,
                              IOException,
                              ObjectDoesNotExistException
Sends an informational message to the message queue.

Parameters:
messageID - The message ID.
messageFile - The integrated file system path name of the message file.
substitutionData - The substitution data for the message, or null if none.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInformational

public void sendInformational(String messageText)
                       throws AS400SecurityException,
                              ErrorCompletingRequestException,
                              InterruptedException,
                              IOException,
                              ObjectDoesNotExistException
Sends an informational message to the message queue.

Parameters:
messageText - The message text.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInquiry

public byte[] sendInquiry(String messageID,
                          String messageFile,
                          String replyMessageQueue)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          InterruptedException,
                          IOException,
                          ObjectDoesNotExistException
Sends an inquiry message to the message queue.

Parameters:
messageID - The message ID.
messageFile - The integrated file system path name of the message file.
replyMessageQueue - The integrated file system path name of the reply message queue.
Returns:
The message key.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInquiry

public byte[] sendInquiry(String messageID,
                          String messageFile,
                          byte[] substitutionData,
                          String replyMessageQueue)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          InterruptedException,
                          IOException,
                          ObjectDoesNotExistException
Sends an inquiry message to the message queue.

Parameters:
messageID - The message ID.
messageFile - The integrated file system path name of the message file.
substitutionData - The substitution data for the message, or null if none.
replyMessageQueue - The integrated file system path name of the reply message queue.
Returns:
The message key.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

sendInquiry

public byte[] sendInquiry(String messageText,
                          String replyMessageQueue)
                   throws AS400SecurityException,
                          ErrorCompletingRequestException,
                          InterruptedException,
                          IOException,
                          ObjectDoesNotExistException
Sends an inquiry message to the message queue.

Parameters:
messageText - The message text.
replyMessageQueue - The integrated file system path name of the reply message queue.
Returns:
The message key.
Throws:
AS400SecurityException - If a security or authority error occurs.
ErrorCompletingRequestException - If an error occurs before the request is completed.
InterruptedException - If this thread is interrupted.
IOException - If an error occurs while communicating with the system.
ObjectDoesNotExistException - If the object does not exist on the system.

setHelpTextFormatting

public void setHelpTextFormatting(int helpTextFormatting)
Sets the help text formatting value. Possible values are:

Parameters:
helpTextFormatting - The help text formatting value.

setListDirection

public void setListDirection(boolean listDirection)
Sets the list direction.

Parameters:
listDirection - true to list the messages in order from oldest to newest; false to list the messages in order from newest to oldest. The default is true.
See Also:
getListDirection()

setSort

public void setSort(boolean sort)
Sets whether the list should be sorted by message type when ALL messages are selected for retrieval. If the selection criteria is set to something other than ALL, the sort setting is ignored.

Parameters:
sort - true to indicate the messages should be sorted; false to indicate no sorting should be performed on the message list.
See Also:
getSort()

setPath

public void setPath(String path)
             throws PropertyVetoException
Sets the fully qualified integrated file system path name of the message queue. The default is CURRENT. The path cannot be changed if the MessageQueue object has established a connection to the system.

Parameters:
path - The fully qualified integrated file system path name of the message queue, or CURRENT to refer to the user's default message queue.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setSelectMessagesNeedReply

public void setSelectMessagesNeedReply(boolean selectMessagesNeedReply)
Sets whether or not to include messages that need a reply in the returned list of messages. Passing true to all three message selection setters is equivalent to retrieving all the messages. By default, all messages are retrieved.

Parameters:
selectMessagesNeedReply - true to include messages that need a reply; false to exclude messages that need a reply.
See Also:
isSelectMessagesNeedReply(), setSelectMessagesNoNeedReply(boolean), setSelectSendersCopyMessagesNeedReply(boolean)

setSelectMessagesNoNeedReply

public void setSelectMessagesNoNeedReply(boolean selectMessagesNoNeedReply)
Sets whether or not to include messages that do not need a reply in the returned list of messages. Passing true to all three message selection setters is equivalent to retrieving all the messages. By default, all messages are retrieved.

Parameters:
selectMessagesNoNeedReply - true to include messages that do not need a reply; false to exclude messages that do not need a reply.
See Also:
isSelectMessagesNoNeedReply(), setSelectMessagesNeedReply(boolean), setSelectSendersCopyMessagesNeedReply(boolean)

setSelectSendersCopyMessagesNeedReply

public void setSelectSendersCopyMessagesNeedReply(boolean selectSendersCopyMessagesNeedReply)
Sets whether or not to include sender's copy messages that need a reply in the returned list of messages. Passing true to all three message selection setters is equivalent to retrieving all the messages. By default, all messages are retrieved.

Parameters:
selectSendersCopyMessagesNeedReply - true to include sender's copy messages that need a reply; false to exclude sender's copy messages that need a reply.
See Also:
isSelectSendersCopyMessagesNeedReply(), setSelectMessagesNeedReply(boolean), setSelectMessagesNoNeedReply(boolean)

setSelection

public void setSelection(String selection)
                  throws PropertyVetoException
Deprecated. Use setSelectMessagesNeedReply(boolean), setSelectMessagesNoNeedReply(boolean), and setSelectSendersCopyMessagesNeedReply(boolean) instead.

Sets the selection that describes which messages are returned. The default is ALL. This takes effect the next time the list of queue messages is retrieved or refreshed.

Note: This method resets the selection criteria set by the setSelectMessagesNeedReply(), setSelectMessagesNoNeedReply(), and setSelectSendersCopyMessagesNeedReply(). Using this method will only set one of the above to true, unless ALL is specified, which will set all three of them to true. To include combinations of the three criteria, use the individual setters instead of this method.

Parameters:
selection - The selection. Valid values are:
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setSeverity

public void setSeverity(int severity)
                 throws PropertyVetoException
Sets the severity of the messages which are returned. All messages of the specified severity and greater are returned. The default is 0. This takes effect the next time that the list of queued messages is retrieved or refreshed.

Parameters:
severity - The severity of the messages to be returned. The value must be between 0 and 99, inclusive.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.
See Also:
RMessageQueue.SEVERITY_CRITERIA

setSystem

public void setSystem(AS400 system)
               throws PropertyVetoException
Sets the system. This cannot be changed if the object has established a connection to the system.

Parameters:
system - The system object representing the system on which the message queue exists.
Throws:
PropertyVetoException - If any of the registered listeners vetos the property change.

setUserStartingMessageKey

public void setUserStartingMessageKey(byte[] userStartingMessageKey)
Sets the starting message key used to begin searching for messages to list from the corresponding entry in the message queue. Any valid message key will work, including NEWEST and OLDEST. If the key of a reply message is specified, the message search begins with the inquiry or sender's copy message associated with that reply, not the reply message itself.

If the message queue is set to CURRENT, then the key represents the starting message key for the current user's user message queue.

Parameters:
userStartingMessageKey - The key. Specify null to set it back to the default, which will be OLDEST or NEWEST based on the list direction.

setWorkstationStartingMessageKey

public void setWorkstationStartingMessageKey(byte[] workstationStartingMessageKey)
Sets the starting message key used to begin searching for messages to list from the corresponding entry in the message queue. Any valid message key will work, including NEWEST and OLDEST. If the key of a reply message is specified, the message search begins with the inquiry or sender's copy message associated with that reply, not the reply message itself.

If the message queue is set to CURRENT, then the key represents the starting message key for the current user's workstation message queue.

Parameters:
workstationStartingMessageKey - The key. Specify null to set it back to the default.