Difference between revisions of "EclipseLink/Examples/MOXy/Dynamic/DynamicEntityToXml"

From Eclipsepedia

< EclipseLink‎ | Examples‎ | MOXy‎ | Dynamic
Jump to: navigation, search
(Create Dynamic Entities)
(Marshal Dynamic Entities to XML)
 
(2 intermediate revisions by one user not shown)
Line 11: Line 11:
  
 
DynamicEntity address = jaxbContext.newDynamicEntity("org.example.Address");
 
DynamicEntity address = jaxbContext.newDynamicEntity("org.example.Address");
address.set("street", "1 Any Street");
+
address.set("street", "1 Any Street").set("city", "Any Town");
address.set("city", "Any Town");
+
 
customer.set("address", address);
 
customer.set("address", address);
 
</source>
 
</source>
  
 
==Marshal Dynamic Entities to XML==
 
==Marshal Dynamic Entities to XML==
 +
The Marshaller obtained from the DynamicJAXBContext is a standard marshaller, and can be used normally to marshal instances of DynamicEntity.
 
<source lang="java">
 
<source lang="java">
 
Marshaller marshaller = jaxbContext.createMarshaller();
 
Marshaller marshaller = jaxbContext.createMarshaller();

Latest revision as of 12:08, 24 June 2010

[edit] Overview

In this example we will show how to create dynamic entities and marshal then to XML.

[edit] Create Dynamic Entities

The DynamicJAXBContext is used to create instances of DynamicEntity. The entity and property names correspond to the class and property names that would have been generated if static JAXB had been used.

DynamicEntity customer = jaxbContext.newDynamicEntity("org.example.Customer");
customer.set("name", "Jane Doe");
 
DynamicEntity address = jaxbContext.newDynamicEntity("org.example.Address");
address.set("street", "1 Any Street").set("city", "Any Town");
customer.set("address", address);

[edit] Marshal Dynamic Entities to XML

The Marshaller obtained from the DynamicJAXBContext is a standard marshaller, and can be used normally to marshal instances of DynamicEntity.

Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(customer, System.out);