com.ibm.mq.headers
类 MQHeaderList
- java.lang.Object
- java.util.AbstractCollection<E>
- java.util.AbstractList
- com.ibm.mq.headers.MQHeaderList
- 所有已实现的接口:
- java.lang.Iterable, java.util.Collection, java.util.List
公共类 MQHeaderList 扩展 java.util.AbstractListMQHeaderList 表示头实例的有序列表。 与 MQHeaderIterator一样, MQHeaderList 可以从消息中读取和解码头内容。 可以将列表的内容写出到另一条消息中,如果需要,请先进行修改。 可能的修改包括除去头,更新其字段内容以及添加或插入新头。
-
构造函数摘要
构造函数 构造函数和描述 MQHeaderList()缺省构造函数MQHeaderList(java.io.DataInput message)使用消息中 MQMD 字段给出的初始格式,编码和 CCSID ,从消息或字节流的内容初始化 MQHeaderList 。MQHeaderList(java.io.DataInput message, boolean readBody)使用消息中 MQMD 字段给出的初始格式,编码和 CCSID ,从消息或字节流的内容初始化 MQHeaderList 。MQHeaderList(java.io.DataInput message, java.lang.String format, int encoding, int characterSet)使用给定的初始格式,编码和 CCSID 从消息或字节流的内容初始化 MQHeaderList 。MQHeaderList(MQHeader[] headers)从头数组构造 MQHeaderList 。MQHeaderList(java.lang.String format)初始化 MQHeaderList 以读取以指定初始格式开始的字节流。
-
方法概要
所有方法 实例方法 具体方法 不推荐的方法 修饰符和类型 方法和描述 voidadd(int index, java.lang.Object header)在列表中的给定位置之前插入新的 MQHeader 实例。booleanadd(java.lang.Object header)将新的 MQHeader 实例添加到列表末尾。MQDataasMQData()返回此 MQHeaderList的 MQData 适配器。java.lang.Objectget(int index)返回列表中给定位置的头对象。java.lang.ObjectgetBody()如果指定了 readBody 参数,那么返回上次读操作期间获取的主体对象。java.lang.StringgetFormat()返回标题列表中第一项的格式。intindexOf(java.lang.String type)返回指定头类型列表中第一个头的索引,如果找不到,那么返回 -1。intread(java.io.DataInput message)使用消息中的 MQMD 字段给出的初始格式,编码和 CCSID 从消息或字节流的内容填充 MQHeaderList 。intread(java.io.DataInput message, boolean readBody)根据消息或字节流的内容填充 MQHeaderList ,如果 readBody 参数为 true ,那么读取消息体。intread(java.io.DataInput message, int encoding, int characterSet)使用给定的初始格式,编码和 CCSID 从消息或字节流的内容填充 MQHeaderList 。intread(java.io.DataInput message, int encoding, int characterSet, boolean readBody)根据消息或字节流的内容填充 MQHeaderList ,如果 readBody 参数为 true ,那么读取消息体。java.lang.Objectremove(int index)在此列表中的指定位置除去 MQHeader。java.lang.Objectset(int index, java.lang.Object header)将列表中给定位置的 MQHeader 实例替换为指定的值。voidsetFormat(java.lang.String format)intsize()返回列表中的头数。java.lang.StringtoString()返回类实例的字符串表示java.lang.StringupdateHeaderChaining()遍历列表中的头,更新每个 Chainable 头的格式字段,并返回用于设置到消息描述符中的第一个头的格式。java.lang.StringupdateHeaderChaining(boolean useBodyFormat)不推荐使用。不再需要java.lang.StringupdateHeaderChaining(java.lang.String bodyFormat)更新列表中头的格式,将最后一个头设置为给定主体格式。intwrite(java.io.DataOutput message)将此 MQHeaderList 中的头写入目标消息。intwrite(java.io.DataOutput message, boolean writeBody)将此 MQHeaderList 中的头写入目标消息,并在 writeBody 自变量为 true 且先前已读取主体时写入主体。intwrite(java.io.DataOutput message, int encoding, int characterSet)使用给定的编码和 CCSID 将此 MQHeaderList 中的头写入目标消息。intwrite(java.io.DataOutput message, int encoding, int characterSet, boolean writeBody)使用给定的编码和 CCSID 将此 MQHeaderList 中的头写入目标消息,并在 writeBody 自变量为 true 且先前已读取主体时写入主体。-
从类 java.util.AbstractList 继承的方法
addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, subList
-
从类 java.util.AbstractCollection 继承的方法
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
-
-
-
构造函数详细信息
MQHeaderList
public MQHeaderList()
缺省构造函数
MQHeaderList
public MQHeaderList(java.lang.String 格式)
初始化 MQHeaderList 以读取以指定初始格式开始的字节流。 此格式在后续读操作中用于标识第一个头。- 参数:
format-要进行 intialise 的格式
MQHeaderList
public MQHeaderList(MQHeader[] 头)
从头数组构造 MQHeaderList 。- 参数:
headers-头数组
MQHeaderList
public MQHeaderList(java.io.DataInput 消息) 抛出 MQDataException, java.io.IOException使用消息中 MQMD 字段给出的初始格式,编码和 CCSID ,从消息或字节流的内容初始化 MQHeaderList 。 从消息中的当前位置可见的所有头都将使用到列表中,并且消息将保留在主体数据的开头。- 参数:
message-消息。- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
MQHeaderList
public MQHeaderList(java.io.DataInput 消息, 布尔值 readBody) 抛出 MQDataException, java.io.IOException使用消息中 MQMD 字段给出的初始格式,编码和 CCSID ,从消息或字节流的内容初始化 MQHeaderList 。 将从消息中的当前位置可见的所有头都使用到列表中,并读取主体。 可以使用 getBody 方法来检索主体对象。- 参数:
message-消息。readBody-用于指示是否要读取消息体的标志- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
MQHeaderList
public MQHeaderList(java.io.DataInput 消息, java.lang.String 格式, int encoding, int characterSet) 抛出 MQDataException, java.io.IOException使用给定的初始格式,编码和 CCSID 从消息或字节流的内容初始化 MQHeaderList 。 从消息中的当前位置可见的所有头都将使用到列表中,并且消息将保留在主体数据的开头。- 参数:
message-消息。format-消息格式 (请参阅 CMQC.MQFMT_* 表示值)encoding-数字编码。 请参阅 (CMQC.MQENC_* 表示值)。characterSet-编码字符集标识。- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
-
方法详细信息
updateHeader链
public java.lang.String updateHeaderChaining ()
遍历列表中的头,更新每个 Chainable 头的格式字段,并返回用于设置到消息描述符中的第一个头的格式。 未更新头中的编码和 CCSID 字段。 如果使用 write 方法写入消息或字节流,那么将以统一编码和 CCSID 写入头内容。 编码和 CCSID 值来自 DataInput 或 write 方法的自变量,并且在写过程中将头内容转换为此编码和 CCSID。 当在列表中添加,除去或重新排序头时,有效编码和 CCSID 设置不会中断或损坏。- 返回:
- 更新的头链
updateHeader链
public java.lang.String updateHeaderChaining (boolean useBodyFormat)
不推荐使用。 不再需要更新列表中头的格式,将最后一个头设置为现有主体对象的格式 (如果有)。 仅当使用 readBody 选项构造或读取了头列表时,才会显示主体对象。- 参数:
useBodyFormat-指示是否必须使用 bodyFormat- 返回:
- 更新的主体格式
- 另请参阅:
updateHeaderChaining()
updateHeader链
public java.lang.String updateHeaderChaining (java.lang.String bodyFormat)
更新列表中头的格式,将最后一个头设置为给定主体格式。- 参数:
bodyFormat-头格式 (请参阅 CMQC.MQFMT_* 表示值)- 返回:
- 更新的头链
- 另请参阅:
updateHeaderChaining()
读
public int read (java.io.DataInput 消息) 抛出 MQDataException, java.io.IOException使用消息中的 MQMD 字段给出的初始格式,编码和 CCSID 从消息或字节流的内容填充 MQHeaderList 。 从消息中的当前位置可见的所有头都将使用到列表中,并且消息将保留在主体数据的开头。 在开始读取之前,将废弃列表的当前内容 (如果有)。- 参数:
message-消息。- 返回:
- 读取的字节数
- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
读
public int read (java.io.DataInput 消息, 布尔值 readBody) 抛出 MQDataException, java.io.IOException根据消息或字节流的内容填充 MQHeaderList ,如果 readBody 参数为 true ,那么读取消息体。 可以使用 getBody 方法来检索主体对象。- 参数:
message-消息。readBody-用于指示是否要读取消息体的标志- 返回:
- 读取的字节数
- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
读
public int read (java.io.DataInput 消息, int encoding, int characterSet) 抛出 MQDataException, java.io.IOException使用给定的初始格式,编码和 CCSID 从消息或字节流的内容填充 MQHeaderList 。 从消息中的当前位置可见的所有头都将使用到列表中,并且消息将保留在主体数据的开头。 在开始读取之前,将废弃列表的当前内容 (如果有)。 使用的初始格式是最初在此 MQHeaderList的构造函数中传递的值 (如果适用)。- 参数:
message-消息。encoding-数字编码。 请参阅 (CMQC.MQENC_* 表示值)。characterSet-编码字符集标识。- 返回:
- 读取的字节数
- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
读
public int read (java.io.DataInput 消息, int encoding, int characterSet, 布尔值 readBody) 抛出 MQDataException, java.io.IOException根据消息或字节流的内容填充 MQHeaderList ,如果 readBody 参数为 true ,那么读取消息体。 可以使用 getBody 方法来检索主体对象。- 参数:
message-消息。encoding-数字编码。 请参阅 (CMQC.MQENC_* 表示值)。characterSet-编码字符集标识。readBody-指示是否还必须读取消息体- 返回:
- 读取的字节数
- 抛出:
MQDataException-如果调用失败java.io.IOException-如果存在 IO 错误
写
public int write (java.io.DataOutput 消息) 抛出 java.io.IOException将此 MQHeaderList 中的头写入目标消息。 内容是使用消息描述符中的编码和 characterSet 值编写的。- 参数:
message-消息。- 返回:
- 写入的字节数
- 抛出:
java.io.IOException-如果存在 IO 错误
写
public int write (java.io.DataOutput 消息, 布尔值 writeBody) 抛出 java.io.IOException将此 MQHeaderList 中的头写入目标消息,并在 writeBody 自变量为 true 且先前已读取主体时写入主体。 内容是使用消息描述符中的编码和 characterSet 值编写的。- 参数:
message-消息。writeBody-是否应将主体写入消息- 返回:
- 写入的字节数
- 抛出:
java.io.IOException-如果存在 IO 错误
写
public int write (java.io.DataOutput 消息, int encoding, int characterSet) 抛出 java.io.IOException使用给定的编码和 CCSID 将此 MQHeaderList 中的头写入目标消息。- 参数:
message-消息。encoding-数字编码。 请参阅 (CMQC.MQENC_* 表示值)。characterSet-编码字符集标识。- 返回:
- 写入的字节数
- 抛出:
java.io.IOException-如果存在 IO 错误
写
public int write (java.io.DataOutput 消息, int encoding, int characterSet, 布尔值 writeBody) 抛出 java.io.IOException使用给定的编码和 CCSID 将此 MQHeaderList 中的头写入目标消息,并在 writeBody 自变量为 true 且先前已读取主体时写入主体。- 参数:
message-消息。encoding-数字编码。 请参阅 (CMQC.MQENC_* 表示值)。characterSet-编码字符集标识。writeBody-是否应将主体写入消息- 返回:
- 写入的字节数
- 抛出:
java.io.IOException-如果存在 IO 错误
indexOf
public int indexOf(java.lang.String 类型)
返回指定头类型列表中第一个头的索引,如果找不到,那么返回 -1。- 参数:
type-标识所需的头类型- 返回:
- 指定类型的第一个头的索引
getFormat
public java.lang.String getFormat()
返回标题列表中第一项的格式。 如果将头列表的内容写入消息中,那么可以将此值设置为 MQMD 或前置头。 返回的格式值是作为自变量传递到 MQHeaderIterator(java.lang.String) 构造函数 (如果适用) 的初始格式,或者已调用由 updateHeaderChaining 生成的值。 该值可能为空。- 返回:
- 格式
setFormat
public void setFormat(java.lang.String 格式)
- 参数:
format-标题列表中第一项的格式
getBody
public java.lang.Object getBody()
如果指定了 readBody 参数,那么返回上次读操作期间获取的主体对象。- 返回:
- 主体对象
get
public java.lang.Object get (int index)
返回列表中给定位置的头对象。- 指定者:
get在接口中java.util.List- 指定者:
get的实例java.util.AbstractList- 参数:
index-所需位置- 返回:
- 指定位置处的对象
size
公用整数大小 ()
返回列表中的头数。- 指定者:
size在接口中java.util.Collection- 指定者:
size在接口中java.util.List- 指定者:
size的实例java.util.AbstractCollection- 返回:
- 列表中的头数
添加
public void add (int index , java.lang.Object 头)在列表中的给定位置之前插入新的 MQHeader 实例。- 指定者:
add在接口中java.util.List- 覆盖:
add的实例java.util.AbstractList- 参数:
index-要插入的位置header-要插入的 MQHeader
添加
public boolean add (java.lang.Object 头)
将新的 MQHeader 实例添加到列表末尾。- 指定者:
add在接口中java.util.Collection- 指定者:
add在接口中java.util.List- 覆盖:
add的实例java.util.AbstractList- 参数:
header-要添加的 MQHeader- 返回:
- true
移除
public java.lang.Object remove (int index)
在此列表中的指定位置除去 MQHeader。- 指定者:
remove在接口中java.util.List- 覆盖:
remove的实例java.util.AbstractList- 参数:
index-要除去的元素的索引。- 返回:
- 先前在指定位置处的元素。
set
public java.lang.Object set (int index , java.lang.Object 头)将列表中给定位置的 MQHeader 实例替换为指定的值。- 指定者:
set在接口中java.util.List- 覆盖:
set的实例java.util.AbstractList- 参数:
index-要替换的位置header-要替换为的 MQHeader- 返回:
- 先前位于指定位置的元素
asMQData
public MQData asMQData()
返回此 MQHeaderList的 MQData 适配器。 MQHeaderList 类不会直接实现 com.ibm.mq.headers.MQData 接口,因为其 size 方法与 java.util.List中的 size 方法冲突。 MQData 适配器返回的大小包括主体对象的大小 (如果存在)。 如果使用 readBody 选项构造或读取了 MQHeaderList ,那么将存在主体对象。- 返回:
- MQData 适配器
toString
public java.lang.String toString()
返回类实例的字符串表示- 覆盖:
toString的实例java.util.AbstractCollection- 返回:
- 字符串表示
- 另请参阅:
Object.toString()
-