Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/277920/Phase1"

m (XML Example)
(org/example/customer/eclipselink-oxm.xml)
Line 107: Line 107:
 
== XML Example ==  
 
== XML Example ==  
 
=== org/example/customer/eclipselink-oxm.xml ===
 
=== org/example/customer/eclipselink-oxm.xml ===
 +
 +
This XML file represents metadata overrides for classes in the "org.example.customer" package.
  
 
<source lang="xml">
 
<source lang="xml">

Revision as of 13:50, 18 June 2009

Phase 1

Provide support for boot strapping the JAXBContext.

Annotations

The following annotations will be targetted in this phase:

Annotation Package Type Field Method
XmlNs        
XmlSchema X      
XmlSeeAlso   X    
XmlTransient   X X X

Java Example

org.example.customer.package-info.java

@XmlSchema(
        elementFormDefault=XmlNsForm.QUALIFIED,
        attributeFormDefault=XmlNsForm.UNQUALIFIED,
        namespace="urn:customer",
        xmlns={@XmlNs(prefix="ns1", namespaceURI="urn:customer")})
package org.example.customer;
 
import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;

org.example.customer.Person

package org.example.customer;
 
import javax.xml.bind.annotation.XmlTransient;
 
@XmlTransient
public abstract class Person {
 
    private int id;
    private String name;
 
    @XmlTransient
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
}

org.example.customer.Person

package org.example.customer;
 
import javax.xml.bind.annotation.XmlSeeAlso;
import org.example.employee.Employee;
 
@XmlSeeAlso({Employee.class})
public class Customer extends Person {
 
    private int customerId;
 
    public int getCustomerId() {
        return customerId;
    }
 
    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }
 
}

org.example.employee.Employee

package org.example.employee;
 
import org.example.customer.Person;
 
public class Employee extends Person {
}

XML Example

org/example/customer/eclipselink-oxm.xml

This XML file represents metadata overrides for classes in the "org.example.customer" package.

<?xml version="1.0" encoding="UTF-8"?>
<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm">
    <xml-schema
        element-form-default="QUALIFIED"
        attribute-form-default="UNQUALIFIED"
        namespace="urn:customer">
        <xml-ns prefix="ns1" namespace-uri="urn:customer" />
    </xml-schema>
    <java-types>
        <java-type name="Person" xml-transient="true">
            <java-attributes>
                <xml-transient java-attribute="id"/>
            </java-attributes>
        </java-type>
        <java-type name="Customer">
            <xml-see-also>org.example.employee.Employee</xml-see-also>
        </java-type>
    </java-types>
</xml-bindings>

Back to the top