| This section describes the default XML-to-Java bindings used by JAXB. All of these bindings can be overridden on global or case-by-case levels by means of a custom binding declaration. See the JAXB Specification for complete information about the default JAXB bindings. Simple Type DefinitionsA schema component using a simple type definition typically binds to a Java property. Since there are different kinds of such schema components, the following Java property attributes (common to the schema components) include: Base typeCollection type, if anyPredicate
 The rest of the Java property attributes are specified in the schema component using the simple type definition. Default Data Type BindingsThe following sections explain the default schema-to-Java, JAXBElement, and Java-to-schema data type bindings. Schema-to-JavaThe Java language provides a richer set of data type than XML schema. Table 161 lists the mapping of XML data types to Java data types in JAXB. Table 161. JAXB Mapping of XML Schema Built-in Data Types| XML Schema Type | Java Data Type | 
|---|
 | xsd:string | java.lang.String |  | xsd:integer | java.math.BigInteger |  | xsd:int | int |  | xsd.long | long |  | xsd:short | short |  | xsd:decimal | java.math.BigDecimal |  | xsd:float | float |  | xsd:double | double |  | xsd:boolean | boolean |  | xsd:byte | byte |  | xsd:QName | javax.xml.namespace.QName |  | xsd:dateTime | javax.xml.datatype.XMLGregorianCalendar |  | xsd:base64Binary | byte[] |  | xsd:hexBinary | byte[] |  | xsd:unsignedInt | long |  | xsd:unsignedShort | int |  | xsd:unsignedByte | short |  | xsd:time | javax.xml.datatype.XMLGregorianCalendar |  | xsd:date | javax.xml.datatype.XMLGregorianCalendar |  | xsd:g | javax.xml.datatype.XMLGregorianCalendar |  | xsd:anySimpleType | java.lang.Object |  | xsd:anySimpleType | java.lang.String |  | xsd:duration | javax.xml.datatype.Duration |  | xsd:NOTATION | javax.xml.namespace.QName | 
 
 JAXBElementWhen XML element information can not be inferred by the derived Java representation of the XML content, a JAXBElement object is provided. This object has methods for getting and setting the object name and object value. Java-to-SchemaTable 162 shows the default mapping of Java classes to XML data types. Table 162. JAXB Mapping of XML Data Types to Java Classes| Java Class | XML Data Type | 
|---|
 | java.lang.String | xs:string |  | java.math.BigInteger | xs:integer |  | java.math.BigDecimal | xs:decimal |  | java.util.Calendar | xs:dateTime |  | java.util.Date | xs:dateTime |  | javax.xml.namespace.QName | xs:QName |  | java.net.URI | xs:string |  | javax.xml.datatype.XMLGregorianCalendar | xs:anySimpleType |  | javax.xml.datatype.Duration | xs:duration |  | java.lang.Object | xs:anyType |  | java.awt.Image | xs:base64Binary |  | javax.activation.DataHandler | xs:base64Binary |  | javax.xml.transform.Source | xs:base64Binary |  | java.util.UUID | xs:string | 
 
 |