|
|
Line 1: |
Line 1: |
− | {{EclipseLink_UserGuide
| + | See http://www.eclipse.org/eclipselink/documentation/2.4/moxy/simple_values003.htm |
− | |info=y
| + | |
− | |toc=y
| + | |
− | |api=n
| + | |
− | }}
| + | |
− | | + | |
− | = Multiple Mappings for a Single Property =
| + | |
− | | + | |
− | Standard JAXB can have at most one mapping per Java field. Since EclipseLink MOXy '''2.3''', multiple mappings can be created for a single property using OXM metadata, with the caveat that at most one mapping will be readable (the rest will be "write-only").
| + | |
− | | + | |
− | | + | |
− | == Example ==
| + | |
− | | + | |
− | This example will use the following Java class:
| + | |
− | | + | |
− | <source lang="java">
| + | |
− | package example;
| + | |
− | | + | |
− | import javax.xml.bind.annotation.*;
| + | |
− | | + | |
− | @XmlRootElement
| + | |
− | @XmlAccessorType(XmlAccessType.FIELD)
| + | |
− | public class CustomQuoteRequest {
| + | |
− | | + | |
− | private int requestId;
| + | |
− | | + | |
− | private String currencyPairCode;
| + | |
− | | + | |
− | }
| + | |
− | </source>
| + | |
− | | + | |
− | The example below shows how to to define multiple mappings for the '''currencyPairCode''' in EclipseLink's OXM metadata format. Note that the second mapping has specified '''write-only="true"'''.
| + | |
− | | + | |
− | <source lang="xml">
| + | |
− | ...
| + | |
− | <java-type name="CustomQuoteRequest">
| + | |
− | <xml-root-element/>
| + | |
− | <java-attributes>
| + | |
− | <xml-element java-attribute="requestId" name="id"/>
| + | |
− | <xml-attribute java-attribute="currencyPairCode" xml-path="req/info/instrmt/@sym"/>
| + | |
− | <xml-attribute java-attribute="currencyPairCode" xml-path="req/info/leg/token/@sym" write-only="true"/>
| + | |
− | </java-attributes>
| + | |
− | </java-type>
| + | |
− | ... | + | |
− | </source>
| + | |
− | | + | |
− | | + | |
− | == XML Output ==
| + | |
− | | + | |
− | The output below shows an example '''CustomQuoteRequest''' marshalled to XML.
| + | |
− | | + | |
− | <source lang="xml">
| + | |
− | <?xml version="1.0" encoding="UTF-8"?>
| + | |
− | <customQuoteRequest>
| + | |
− | <id>881</id>
| + | |
− | <req>
| + | |
− | <info>
| + | |
− | <instrmt sym="CAD/USD"/>
| + | |
− | <leg>
| + | |
− | <token sym="CAD/USD"/>
| + | |
− | </leg>
| + | |
− | </info>
| + | |
− | </req>
| + | |
− | </customQuoteRequest>
| + | |
− | </source>
| + | |
− | | + | |
− | | + | |
− | | + | |
− | {{EclipseLink_MOXy
| + | |
− | |previous=[[EclipseLink/UserGuide/MOXy/Simple Values/Collections/XMLDirectCollectionMapping|Mapping Collections of Simple Values]]
| + | |
− | |next= [[EclipseLink/UserGuide/MOXy/Simple Values/Enums|Mapping Enums]]
| + | |
− | }}
| + | |
Latest revision as of 10:42, 8 November 2012
See http://www.eclipse.org/eclipselink/documentation/2.4/moxy/simple_values003.htm