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/Phase2"

(Java Metadata)
(Java Metadata)
Line 35: Line 35:
 
import javax.xml.bind.annotation.XmlAccessType;
 
import javax.xml.bind.annotation.XmlAccessType;
 
import javax.xml.bind.annotation.XmlAccessorType;
 
import javax.xml.bind.annotation.XmlAccessorType;
 +
</source>
 +
 +
=== org.example.customer.Customer ===
 +
 +
<source lang="java">
 +
package org.example.customer;
 +
 +
@XmlAccessorOrder(XmlAccessOrder.UNDEFINED)
 +
@XmlAccessorType(XmlAccessType.FIELD)
 +
@XmlType(
 +
    factoryClass=CustomerFactory.class,
 +
    factoryMethod="createCustomer",
 +
    name="customer-type",
 +
    namespace="urn:customer",
 +
    propOrder={})
 +
public class Customer extends Person {
 +
 +
    private int customerId;
 +
 +
    public int getCustomerId() {
 +
        return customerId;
 +
    }
 +
 +
    public void setCustomerId(int customerId) {
 +
        this.customerId = customerId;
 +
    }
 +
 +
}
 
</source>
 
</source>
  

Revision as of 10:03, 6 July 2009

Phase 2

Provide support for high level metadata.

Annotations

The following annotations will be targetted in this phase:

Annotation Package Type Field Method
XmlAccessorOrder X X    
XmlAccessorType X X    
XmlRootElement   X    
XmlType   X    

Java Metadata

The following example will demonstrate how these annotations can be applied to Java classes:

org.example.customer.package-info.java

@XmlAccessorOrder(XmlAccessOrder.ALPHABETICAL)
@XmlAccessorType(XmlAccessType.PROPERTY)
package org.example.customer;
 
import javax.xml.bind.annotation.XmlAccessOrder;
import javax.xml.bind.annotation.XmlAccessorOrder;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

org.example.customer.Customer

package org.example.customer;
 
@XmlAccessorOrder(XmlAccessOrder.UNDEFINED)
@XmlAccessorType(XmlAccessType.FIELD) 
@XmlType(
    factoryClass=CustomerFactory.class, 
    factoryMethod="createCustomer", 
    name="customer-type", 
    namespace="urn:customer", 
    propOrder={})
public class Customer extends Person {
 
    private int customerId;
 
    public int getCustomerId() {
        return customerId;
    }
 
    public void setCustomerId(int customerId) {
        this.customerId = customerId;
    }
 
}

XML Metadata

xml-accessor-order

If this is present in the XML then it completely replaces the corresponding annotation.

xml-accessor-type

If this is present in the XML then it completely replaces the corresponding annotation.

xml-root-element

If this is present in the XML then it completely replaces the corresponding annotation.

xml-type

If this is present in the XML then it completely replaces the corresponding annotation.

Back to the top