扩展数据元素描述是 ExtendedDataElementDescription 类的一个实例。
执行此任务的目的和时间
要将扩展数据元素描述添加至事件定义,必须创建新的扩展数据元素描述,然后为它的各个字段设置值。您还可以添加嵌套(子代)扩展数据元素描述,它描述了嵌套扩展数据元素。随后,您可以将扩展数据元素描述添加到事件定义中。
完成此任务需要执行的步骤
- 要创建新的扩展数据元素描述,创建 ExtendedDataElementDescription 的实例并指定扩展数据元素的名称和类型。
ExtendedDataElementDescription edeDesc =
new ExtendedDataElementDescription(name, type);
此构造函数的参数如下:- name
- 扩展数据元素的名称。它必须是您要描述的扩展数据元素的 name 属性的值。
- type
- 扩展数据元素的数据类型。它必须是 org.eclipse.hyades.logging.events.cbe.ExtendedDataElement 类定义的下列整数常量的其中一个:
- TYPE_BOOLEAN_ARRAY_VALUE
- TYPE_BOOLEAN_VALUE
- TYPE_BYTE_ARRAY_VALUE
- TYPE_BYTE_ARRAY
- TYPE_DATE_TIME_ARRAY_VALUE
- TYPE_DATE_TIME_VALUE
- TYPE_DOUBLE_ARRAY_VALUE
- TYPE_DOUBLE_VALUE
- TYPE_FLOAT_ARRAY_VALUE
- TYPE_FLOAT_VALUE
- TYPE_HEX_BINARY_VALUE
- TYPE_INT_ARRAY_VALUE
- TYPE_INT_VALUE
- TYPE_LONG_ARRAY_VALUE
- TYPE_LONG_VALUE
- TYPE_NO_VALUE_VALUE
- TYPE_SHORT_ARRAY_VALUE
- TYPE_SHORT_VALUE
- TYPE_STRING_ARRAY_VALUE
- TYPE_STRING_VALUE
返回的对象是一个新的 ExtendedDataElementDescription 对象。
- 填充扩展数据元素描述的各个字段。 ExtendedDataElementDescription 类为扩展数据元素描述中的各个字段提供了一个 setter 方法。请参阅 Javadoc API
文档以获取有关这些方法的完整信息。 例如,要指定扩展数据元素必须至少出现一次,您可以使用 setMaxOccurs(int)
方法将 maxOccurs 属性设置为 4:
edeDesc.setMaxOccurs(4);
- 可选: 要添加子代扩展数据元素描述,使用
ExtendedDataElementDescription.addChild() 方法。
edeDesc.addChild(childEdeDesc);
childEdeDesc 参数必须是有效扩展数据元素描述。
- 使用 EventDefinition.addExtendedDataElementDescription() 方法将扩展数据元素描述添加至事件定义。
definition.addExtendedDataElementDescription(edeDesc);
如果事件定义已包含另一个名称和路径都相同的扩展数据元素描述,将抛出 DescriptionExistsException 异常。
示例
以下代码段创建新的扩展数据元素描述,为其填充数据并将其添加至事件定义。
ExtendedDataElementDescription edeDesc =
new ExtendedDataElementDescription("age", TYPE_SHORT_VALUE);
edeDesc.setMinOccurs(1);
edeDesc.setMaxOccurs(1);
// definition is a valid event definition
definition.addExtendedDataElementDescription(edeDesc);