インターフェース MapMessage
- すべてのスーパーインターフェース:
Message
public interface MapMessage extends Message
MapMessage
オブジェクトは、名前と値のペアのセットを送信するために使用されます。名前はString
オブジェクトであり、値は Java プログラミング言語のプリミティブデータ型です。名前には、null ではなく、空の文字列ではない値を含める必要があります。エントリには、名前で順次またはランダムにアクセスできます。エントリの順序は定義されていません。MapMessage
はMessage
インターフェースを継承し、マップを含むメッセージ本文を追加します。プリミティブ型は、各型のメソッドを使用して明示的に読み書きできます。また、オブジェクトとして一般的に読み書きすることもできます。たとえば、
MapMessage.setInt("foo", 6)
の呼び出しはMapMessage.setObject("foo", new Integer(6))
と同等です。明示的なフォームは静的プログラミングに便利であり、コンパイル時に型が不明な場合はオブジェクトフォームが必要であるため、両方のフォームが提供されます。クライアントが
MapMessage
を受信すると、読み取り専用モードになります。この時点でクライアントがメッセージに書き込もうとすると、MessageNotWriteableException
がスローされます。clearBody
が呼び出されると、メッセージの読み取りと書き込みの両方が可能になります。MapMessage
オブジェクトは、次の変換テーブルをサポートしています。マークされたケースはサポートされている必要があります。マークされていないケースはJMSException
をスローする必要があります。プリミティブのvalueOf()
メソッドがプリミティブの有効なString
表現として受け入れない場合、String
-to-primitive 変換はランタイム例外をスローする可能性があります。行型として書き込まれた値は、列型として読み取ることができます。
| | boolean byte short char int long float double String byte[] |---------------------------------------------------------------------- |boolean | X X |byte | X X X X X |short | X X X X |char | X X |int | X X X |long | X X |float | X X X |double | X X |String | X X X X X X X X |byte[] | X |----------------------------------------------------------------------
null 値をプリミティブ型として読み取ろうとすると、null 値を指定して、プリミティブの対応する
valueOf(String)
変換メソッドを呼び出すことになります。char
はString
変換をサポートしていないため、char
として null 値を読み取ろうとすると、NullPointerException
がスローされます。- 導入:
- JMS 1.0
- バージョン:
- Jakarta Messaging 2.0
- 関連事項:
Session.createMapMessage()
,BytesMessage
,Message
,ObjectMessage
,StreamMessage
,TextMessage
フィールドサマリー
インターフェース jakarta.jms.Message から継承されたフィールド
DEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 boolean
getBoolean(StringSE name)
指定された名前のboolean
値を返します。byte
getByte(StringSE name)
指定された名前のbyte
値を返します。byte[]
getBytes(StringSE name)
指定された名前のバイト配列値を返します。char
getChar(StringSE name)
指定された名前の Unicode 文字値を返します。double
getDouble(StringSE name)
指定された名前のdouble
値を返します。float
getFloat(StringSE name)
指定された名前のfloat
値を返します。int
getInt(StringSE name)
指定された名前のint
値を返します。long
getLong(StringSE name)
指定された名前のlong
値を返します。EnumerationSE
getMapNames()
MapMessage
オブジェクト内のすべての名前のEnumeration
を返します。ObjectSE
getObject(StringSE name)
指定された名前のオブジェクトの値を返します。short
getShort(StringSE name)
指定された名前のshort
値を返します。StringSE
getString(StringSE name)
指定された名前のString
値を返します。boolean
itemExists(StringSE name)
このMapMessage
オブジェクトにアイテムが存在するかどうかを示します。void
setBoolean(StringSE name, boolean value)
指定された名前のboolean
値をマップに設定します。void
setByte(StringSE name, byte value)
指定された名前のbyte
値をマップに設定します。void
setBytes(StringSE name, byte[] value)
指定された名前のバイト配列値をマップに設定します。void
setBytes(StringSE name, byte[] value, int offset, int length)
指定された名前のバイト配列値の一部をマップに設定します。void
setChar(StringSE name, char value)
指定された名前の Unicode 文字値をマップに設定します。void
setDouble(StringSE name, double value)
指定された名前のdouble
値をマップに設定します。void
setFloat(StringSE name, float value)
指定された名前のfloat
値をマップに設定します。void
setInt(StringSE name, int value)
指定された名前のint
値をマップに設定します。void
setLong(StringSE name, long value)
指定された名前のlong
値をマップに設定します。void
setObject(StringSE name, ObjectSE value)
指定された名前のオブジェクト値をマップに設定します。void
setShort(StringSE name, short value)
指定された名前のshort
値をマップに設定します。void
setString(StringSE name, StringSE value)
指定された名前のString
値をマップに設定します。インターフェース jakarta.jms.Message から継承されたメソッド
acknowledge, clearBody, clearProperties, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, isBodyAssignableTo, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
メソッドの詳細
getBoolean
boolean getBoolean(StringSE name) throws JMSException
指定された名前のboolean
値を返します。- パラメーター:
name
-boolean
の名前- 戻り値:
- 指定された名前の
boolean
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getByte
byte getByte(StringSE name) throws JMSException
指定された名前のbyte
値を返します。- パラメーター:
name
-byte
の名前- 戻り値:
- 指定された名前の
byte
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getShort
short getShort(StringSE name) throws JMSException
指定された名前のshort
値を返します。- パラメーター:
name
-short
の名前- 戻り値:
- 指定された名前の
short
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getChar
char getChar(StringSE name) throws JMSException
指定された名前の Unicode 文字値を返します。- パラメーター:
name
- Unicode 文字の名前- 戻り値:
- 指定された名前の Unicode 文字値
- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getInt
int getInt(StringSE name) throws JMSException
指定された名前のint
値を返します。- パラメーター:
name
-int
の名前- 戻り値:
- 指定された名前の
int
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getLong
long getLong(StringSE name) throws JMSException
指定された名前のlong
値を返します。- パラメーター:
name
-long
の名前- 戻り値:
- 指定された名前の
long
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getFloat
float getFloat(StringSE name) throws JMSException
指定された名前のfloat
値を返します。- パラメーター:
name
-float
の名前- 戻り値:
- 指定された名前の
float
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getDouble
double getDouble(StringSE name) throws JMSException
指定された名前のdouble
値を返します。- パラメーター:
name
-double
の名前- 戻り値:
- 指定された名前の
double
値 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getString
StringSE getString(StringSE name) throws JMSException
指定された名前のString
値を返します。- パラメーター:
name
-String
の名前- 戻り値:
- 指定された名前の
String
値。この名前のアイテムがない場合は、null 値が返されます - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getBytes
byte[] getBytes(StringSE name) throws JMSException
指定された名前のバイト配列値を返します。- パラメーター:
name
- バイト配列の名前- 戻り値:
- 指定された名前のバイト配列値のコピー。この名前のアイテムがない場合は、null 値が返されます。
- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageFormatException
- この型変換が無効な場合。
getObject
ObjectSE getObject(StringSE name) throws JMSException
指定された名前のオブジェクトの値を返します。このメソッドを使用して、同等の
setObject
メソッド呼び出しまたは同等のプリミティブsettype
メソッドで Map に格納されていた Java プログラミング言語のオブジェクト(「Java オブジェクト」)をオブジェクト化された形式で返すことができます。バイト値は
Byte[]
ではなくbyte[]
として返されることに注意してください。- パラメーター:
name
- Java オブジェクトの名前- 戻り値:
- オブジェクト化された形式での、指定された名前の Java オブジェクト値のコピー(たとえば、オブジェクトが
int
として設定された場合、Integer
が返されます); この名前のアイテムがない場合は、null 値が返されます - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
getMapNames
EnumerationSE getMapNames() throws JMSException
MapMessage
オブジェクト内のすべての名前のEnumeration
を返します。- 戻り値:
- この
MapMessage
のすべての名前の列挙 - 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
setBoolean
void setBoolean(StringSE name, boolean value) throws JMSException
指定された名前のboolean
値をマップに設定します。- パラメーター:
name
-boolean
の名前value
- マップに設定するboolean
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setByte
void setByte(StringSE name, byte value) throws JMSException
指定された名前のbyte
値をマップに設定します。- パラメーター:
name
-byte
の名前value
- マップに設定するbyte
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setShort
void setShort(StringSE name, short value) throws JMSException
指定された名前のshort
値をマップに設定します。- パラメーター:
name
-short
の名前value
- マップに設定するshort
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setChar
void setChar(StringSE name, char value) throws JMSException
指定された名前の Unicode 文字値をマップに設定します。- パラメーター:
name
- Unicode 文字の名前value
- マップに設定する Unicode 文字値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setInt
void setInt(StringSE name, int value) throws JMSException
指定された名前のint
値をマップに設定します。- パラメーター:
name
-int
の名前value
- マップに設定するint
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setLong
void setLong(StringSE name, long value) throws JMSException
指定された名前のlong
値をマップに設定します。- パラメーター:
name
-long
の名前value
- マップに設定するlong
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setFloat
void setFloat(StringSE name, float value) throws JMSException
指定された名前のfloat
値をマップに設定します。- パラメーター:
name
-float
の名前value
- マップに設定するfloat
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setDouble
void setDouble(StringSE name, double value) throws JMSException
指定された名前のdouble
値をマップに設定します。- パラメーター:
name
-double
の名前value
- マップに設定するdouble
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setString
void setString(StringSE name, StringSE value) throws JMSException
指定された名前のString
値をマップに設定します。- パラメーター:
name
-String
の名前value
- マップに設定するString
値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setBytes
void setBytes(StringSE name, byte[] value) throws JMSException
指定された名前のバイト配列値をマップに設定します。- パラメーター:
name
- バイト配列の名前value
- マップに設定するバイト配列値。name
の値が将来の変更によって変更されないように配列がコピーされます- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setBytes
void setBytes(StringSE name, byte[] value, int offset, int length) throws JMSException
指定された名前のバイト配列値の一部をマップに設定します。- パラメーター:
name
- バイト配列の名前value
- マップに設定するバイト配列値offset
- バイト配列内の初期オフセットlength
- 使用するバイト数- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
setObject
void setObject(StringSE name, ObjectSE value) throws JMSException
指定された名前のオブジェクト値をマップに設定します。このメソッドは、オブジェクト化されたプリミティブオブジェクト型(
Integer
、Double
、Long
...)、String
オブジェクト、バイト配列に対してのみ機能します。- パラメーター:
name
- Java オブジェクトの名前value
- マップに設定する Java オブジェクトの値- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageFormatException
- オブジェクトが無効な場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。
itemExists
boolean itemExists(StringSE name) throws JMSException
このMapMessage
オブジェクトにアイテムが存在するかどうかを示します。- パラメーター:
name
- テストするアイテムの名前- 戻り値:
- アイテムが存在する場合は true
- 例外:
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがアイテムの存在を確認できない場合