BOM Native Type to BDS Type Mapping

This table shows which Java Type the BOM Native Types are mapped onto, and whether they are mutable or not.

BOM Native Type to BDS Type Mapping
BOM Native Type BDS Java Type Mutable?
Attachment N/A N/A
Boolean java.lang.Boolean No
Date javax.xml.datatype.XMLGregorianCalendar Yes
Datetime javax.xml.datatype.XMLGregorianCalendar Yes
Datetimetz javax.xml.datatype.XMLGregorianCalendar Yes
Decimal – Fixed Point java.Math.BigDecimal No
Decimal – Floating Point java.lang.Double No
Duration javax.xml.datatype.Duration No
ID java.lang.String No
Integer – Fixed Length java.Math.BigInteger No
Integer – Signed java.lang.Integer No
Object - xsd.any org.eclipse.emf.ecore.util.FeatureMap No
Object - xsd.anyAttribute org.eclipse.emf.ecore.util.FeatureMap No
Object - xsd.anytype EObject No
Object - xsd.anySimpleType java.lang.Object No
Text java.lang.String No
Time javax.xml.datatype.XMLGregorianCalendar Yes
URI java.lang.String No

The values of mutable types can be changed, but the values of immutable types cannot. The methods that operate on them return new objects with the new values instead of mutating the value of the original object.