Difference between revisions of "EclipseLink/UserGuide/MOXy/Simple Values/Special Schema Types/Binary Types"

From Eclipsepedia

Jump to: navigation, search
m (Replacing page with 'See http://www.eclipse.org/eclipselink/documentation/2.4/moxy/special_schema_types003.htm')
 
(38 intermediate revisions by one user not shown)
Line 1: Line 1:
{{EclipseLink_UserGuide
+
See http://www.eclipse.org/eclipselink/documentation/2.4/moxy/special_schema_types003.htm
|info=y
+
|toc=y
+
|eclipselink=y
+
|eclipselinktype=MOXy
+
|api=y
+
|apis= * [http://www.eclipse.org/eclipselink/api/latest/javax/xml/bind/annotation/XmlSchemaType.html XmlSchemaType]
+
}}
+
 
+
= Binary Types=
+
 
+
There are a few extra things to consider when mapping to fields of type '''byte[ ]''' or '''Byte[ ]'''.
+
 
+
 
+
== byte[ ] versus Byte[ ] ==
+
 
+
Unlike other Java primitive/wrapper types, Eclipselink differentiates between '''byte[ ]''' (primitive) and '''Byte[ ]''' (wrapper) data types.  By default, '''byte[ ]''' will marshal to an element or attribute of type '''base64Binary''', whereas '''Byte[ ]''' will marshal each byte as its own element.
+
 
+
<div style="width:700px">
+
<source lang="java">
+
package example;
+
 
+
import javax.xml.bind.annotation.*;
+
 
+
@XmlRootElement
+
public class BinaryData {
+
 
+
  public byte[] primitiveBytes;
+
  public Byte[] byteObjects;
+
 
+
}
+
</source>
+
 
+
<div style="width:700px">
+
<source lang="java">
+
BinaryData b = new BinaryData();
+
b.primitiveBytes = new byte[] {34,45,56,67,78,89,89,34,23,12,12,11,2};
+
b.byteObjects = new Byte[] {23,1,112,12,1,64,1,14,3,2};
+
 
+
jaxbContext.createMarshaller().marshal(b, System.out);
+
</source>
+
 
+
 
+
<div style="width:700px">
+
<source lang="xml">
+
<?xml version="1.0" encoding="UTF-8"?>
+
<binaryData>
+
  <primitiveBytes>Ii04Q05ZWSIXDAwLAg==</primitiveBytes>
+
  <byteObjects>23</byteObjects>
+
  <byteObjects>1</byteObjects>
+
  <byteObjects>112</byteObjects>
+
  <byteObjects>12</byteObjects>
+
  <byteObjects>1</byteObjects>
+
  <byteObjects>64</byteObjects>
+
  <byteObjects>1</byteObjects>
+
  <byteObjects>14</byteObjects>
+
  <byteObjects>3</byteObjects>
+
  <byteObjects>2</byteObjects>
+
</binaryData>
+
</source>
+

Latest revision as of 10:41, 8 November 2012

See http://www.eclipse.org/eclipselink/documentation/2.4/moxy/special_schema_types003.htm