Typed data elements represent business objects such as Date, ProductNumber, and Money. They differ from non-typed data elements because they contain information about the type of business objects they represent and conform to the object's business rules. For example, a typed data element identifies how the toolkit displays the business object it represents and it also identifies what validation must occur when the toolkit changes an attribute value. To hold this information, typed data elements have one or more property descriptors. Non-typed data elements do not have a property descriptor.
You can work with both typed and non-typed data elements as they can co-exist at runtime. This means you can design and implement the data required for a service or process using the appropriate data elements (typed or non-typed). The only difference in runtime is that with non-typed data elements, the getDescriptor method returns null and with typed data elements, the getDescriptor method returns an object implementing the PropertyDescription interface. Once you have the property descriptor, you can use it to validate, format, unformat or clone the typed data element.
The following diagram shows the classes used to implement typed data elements and their relationships:
UNICOM® Digital Transformation Toolkit (UDTT™) provides the following eight typed data elements by default:
▪ String
▪ Date
▪ Number (including byte, short, integer, bigInteger, long, double, float, and bigDecimal)
▪ Currency
▪ Boolean
▪ ByteArray
▪ Duration
▪ XMLGregorianCalander
The default typed data elements extend BasicType.
For more information about the typed data elements that are provided by UDTT, see Default implementation.