The following are example definitions of data elements as they might appear in a typed data definition file:
Example 1: Instantiate a typed data field of type money.
<type id="Money" implClass="com.ibm.dse.base.DataField"> <Descriptor id="typeDefault" implClass="com.ibm.dse.base.types.ext.FloatDescriptor"> <Converter convTypes="default" implClass="com.ibm.dse.base.types.ext.FloatConverter"/> <Validator implClass="com.ibm.dse.base.types.ext.FloatValidator" lowerLimit="0"/> </Descriptor > </kColl>
DataField elem1 = (DataField) DSEType.readObject("Money"); elem1.setValue(new Float("200"));
Example 2: Instantiate a typed keyed collection of type account and set its balance to 200.
<type id="AccountNumber" implClass="com.ibm.dse.base.DataField"> <Descriptor id="typeDefault" implClass="com.ibm.dse.base.types.ext.StringPropertyDescriptor"> <Converter convTypes="default,xml" implClass="com.ibm.dse.base.types.ext.StringConverter"/> <Validator implClass="com.ibm.dse.base.types.ext.IntegerStringValidator" minLength="8" maxLength="8"/> </Descriptor> </type> <type id="Account" implClass="com.ibm.dse.base.KeyedCollection"> <KCollDescriptor id="typeDefault" refType="Account"/> <StringDescriptor id="accountNumber" refType="AccountNumber" initialValue="12345678" isMandatory="true"/> <FloatDescriptor id="accountBalance" refType="Money" initialValue="50" upperLimit="100000"/> </type>
KeyedCollection kColl = (KeyedCollection) DSEType.readObject("Account"); kColl.setValueAt("accountBalance", new Float("200"));
Example 3: Instantiate the myBalance typed data field defined in the data definition file and set its balance to 200.
<type id="Money" implClass="com.ibm.dse.base.DataField"> <Descriptor id="typeDefault" implClass="com.ibm.dse.base.types.ext.FloatDescriptor"> <Converter convTypes="default" implClass=com.ibm.dse.base.types.ext.FloatConverter/> <Validator implClass="com.ibm.dse.base.types.ext.FloatValidator" lowerLimit="0"/> </Descriptor > </kColl>
<data id="myBalance" refType="Money" value="1000"/>
DataField elem1 = (DataField)DataElement.readObject("myBalance"); elem1.setValue(new Float("200"));