Handling UDTT DataElement
This section describes how to handle UDTT DataElement:
1 Defining data element:
Following is the sample definition of data element:
<data.xml> <kColl id="personData"> <field id="name" /> <field id="age" /> </kColl> </data.xml>
2 Defining format element:
Following is the sample definition of format element:
<format.xml> <format id="PersonFormat"> <record> <fString dataName="name" encoding="cp937"/> <selfLength/> <fInteger dataName="age" byteOrdering="host"/> <selfLength/> </record> </format> </format.xml>
3 Formatting the data element:
Following is the sample code to format the data element:
public static void main(String[] args) throws Exception { KeyedCollection dataElement = (KeyedCollection)DataElement.readObject("personData"); dataElement.setValueAt("name", "George. Wilhelm. T"); dataElement.setValueAt("age", 57); FormatElement format = FormatFactory.getFormatElement("PersonFormat"); ReadAdapter read = new DataElementReadAdapter(dataElement); Message msg = format.format(read); System.out.println("====Format Result===="); System.out.println(msg); }
If you run this main method, you can get the following result in the console:
Read BTT configuration from : "jar:///btt.xml" Initialize BTT Component: traces Initialize BTT Component: traces [Success] Initialize BTT Component: dataElement Initialize BTT Component: dataElement [Success] Initialize BTT Component: format Initialize BTT Component: format [Success] 3 BTT Components initialized. ====Format Result==== 12C785969987854B40E68993888593944B40E30400000039
4 Unformatting the DataElement:
Following is the sample code to unformat the data element:
public static void main(String[] args) throws Exception { KeyedCollection dataElement = (KeyedCollection) DataElement.readObject("personData"); FormatElement format = FormatFactory.getFormatElement("PersonFormat"); WriteAdapter write = new DataElementWriteAdapter(dataElement); byte[] bytes = HexCodecUtil.decodeHex("06C785969987850400000012".toCharArray()); Message message = new Message(bytes); format.unformat(message, write); System.out.println("====Unformat Result===="); System.out.println(dataElement); }
If you run this main method, you can get the following result in the console:
Read BTT configuration from : "jar:///btt.xml" Initialize BTT Component: traces Initialize BTT Component: traces [Success] Initialize BTT Component: dataElement Initialize BTT Component: dataElement [Success] Initialize BTT Component: format Initialize BTT Component: format [Success] 3 BTT Components initialized. ====Unformat Result==== <kColl id="personData" dynamic="false" compress="false" > <field id="name" value="George" description="" /> <field id="age" value="18" description="" /> </kColl >
5 Unformatting dynamic data element:
In the unformatting process, it is not required to define the data element. You can use a dynamic data element instead of predefined data element. Following is the sample code to unformat the dynamic data element:
public static void main(String[] args) throws Exception { KeyedCollection dataElement = new KeyedCollection(); dataElement.setDynamic(true); FormatElement format = FormatFactory.getFormatElement("PersonFormat"); WriteAdapter write = new DataElementWriteAdapter(dataElement); byte[] bytes = HexCodecUtil.decodeHex("06C785969987850400000012".toCharArray()); Message message = new Message(bytes); format.unformat(message, write); System.out.println("====Unformat Result===="); System.out.println(dataElement); }
If you run this main method, you can get the following result in the console:
Read BTT configuration from : "jar:///btt.xml" Initialize BTT Component: traces Initialize BTT Component: traces [Success] Initialize BTT Component: dataElement Initialize BTT Component: dataElement [Success] Initialize BTT Component: format Initialize BTT Component: format [Success] 3 BTT Components initialized. ====Unformat Result==== <kColl id="" dynamic="true" compress="false" > <field id="name" value="George" description="" /> <field id="age" value="18" description="" /> </kColl>
Go up to
This site works best with JavaScript enabled