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.
Difference between revisions of "EclipseLink/DesignDocs/293925/MOXyExtensions/XmlBinaryDataMapping"
(→Basic XML binary data mapping support) |
|||
Line 32: | Line 32: | ||
public class MyData { | public class MyData { | ||
public byte[] bytes; | public byte[] bytes; | ||
+ | |||
+ | public byte[] getBytes() { | ||
+ | return bytes; | ||
+ | } | ||
+ | |||
+ | public void setBytes(byte[] bytes) { | ||
+ | this.bytes = bytes; | ||
+ | } | ||
} | } | ||
</source> | </source> | ||
Line 54: | Line 62: | ||
<xml-root-element name="my-data" /> | <xml-root-element name="my-data" /> | ||
<java-attributes> | <java-attributes> | ||
− | <xml-attribute java-attribute="bytes" xml-path="@mybytes" /> | + | <xml-attribute java-attribute="bytes" xml-path="@mybytes"> |
+ | <xml-access-methods get-method="getBytes" set-method="setBytes" /> | ||
+ | </xml-attribute> | ||
</java-attributes> | </java-attributes> | ||
</java-type> | </java-type> |
Revision as of 10:17, 8 April 2010
XMLBinaryDataMapping
Requirements
Provide support for XML binary data mapping configuration via XML metadata file.
The following should be configurable:
Design
Basic XML binary data mapping support
We will extend our current xml-element
and xml-attribute
support to allow binary data mapping configuration. For example, the following XML metadata snippet would be used to setup a binary data mapping for 'bytes' (where bytes is a byte[]
in the object model):
<xml-attribute java-attribute="bytes" />
The same thing mapped to 'mybytes':
<xml-attribute java-attribute="bytes" xml-path="@mybytes" />
Example:
The following example will demonstrate how to configure XML binary data mappings via XML metadata by using xml-element
and xml-attribute
.
org.example.MyData.java
package org.example; public class MyData { public byte[] bytes; public byte[] getBytes() { return bytes; } public void setBytes(byte[] bytes) { this.bytes = bytes; } }
Deployment XML
XML Instance Document
<?xml version="1.0" encoding="UTF-8"?> <my-data mybytes="AAECAw=="/>
org/example/eclipselink-oxm.xml
This XML file demonstrates configuring XML binary data mappings on the "org.example.MyData" class.
<?xml version="1.0" encoding="US-ASCII"?> <xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <java-types> <java-type name="org.example.MyData"> <xml-root-element name="my-data" /> <java-attributes> <xml-attribute java-attribute="bytes" xml-path="@mybytes"> <xml-access-methods get-method="getBytes" set-method="setBytes" /> </xml-attribute> </java-attributes> </java-type> </java-types> </xml-bindings>
Open Issues
This section lists the open issues that are still pending that must be decided prior to fully implementing this project's requirements.
Issue# | Owner | Description/Notes |
---|---|---|
Decisions
This section lists decisions made. These are intended to document the resolution of open issues or constraints added to the project that are important.
Issue# | Description/Notes | Decision |
---|---|---|