EclipseLink/Examples/MOXy/Dynamic/DynamicEntityToXml

From Eclipsepedia

Jump to: navigation, search

Overview

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

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);

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);