Enterprise Java Development@TOPIC@

Chapter 109. XML Representations

Using JAXB and JAX-RS Marshallers

109.1. XML Payload
109.2. Defining JAXB DTOs
109.2.1. Defining JAXB Attributes
109.2.2. Defining JAXB Elements
109.2.3. Defining JAXB Collections/Sequences
109.3. JAXB Marshalling/Demarshalling
109.3.1. JAXB Marshalling
109.3.2. JAXB Demarshalling
109.4. Marshaling XML to/from Resource Methods
109.4.1. Marshaling XML Requests to Resource Methods
109.4.2. Marshaling XML Response from Resource Methods


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:catageory name="snacks" id="1" version="1" xmlns:ns2="http://webejb.ejava.info/inventory">
    <productCount>1</productCount>
    <products>
        <product id="1" name="chips" version="0"/>
    </products>
</ns2:catageory>


@XmlRootElement(name="catageory", namespace=InventoryRepresentation.NAMESPACE)
@XmlType(name="Category", namespace=InventoryRepresentation.NAMESPACE)
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Category extends InventoryRepresentation {
    private int id;
    private String name;
    private Integer productCount;
    private List<Product> products=new ArrayList<Product>();
    public Category() {}
    public Category(String name) {
        this.name=name;
    }
...    
}