Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Development/2.1/DynamicMOXy/296967/BootstrapFromOXM/ObjectFactory"
< EclipseLink | Development | 2.1 | DynamicMOXy/296967 | BootstrapFromOXM
(New page: = Supporting ObjectFactory in Dynamic JAXB =) |
(→Supporting ObjectFactory in Dynamic JAXB) |
||
Line 1: | Line 1: | ||
= Supporting ObjectFactory in Dynamic JAXB = | = Supporting ObjectFactory in Dynamic JAXB = | ||
+ | |||
+ | == Background == | ||
+ | |||
+ | In standard JAXB, when classes are generated from a schema, an <tt>ObjectFactory</tt> class is also created, with methods to create new instances of all types in the schema, etc. From the JAXB 2.2 spec: | ||
+ | |||
+ | |||
+ | <div style="margin-left:40px;width:65%"> | ||
+ | |||
+ | {{tip|| | ||
+ | |||
+ | A public class <tt>ObjectFactory</tt> contains: | ||
+ | • An instance factory method signature for each Java content within the | ||
+ | package. | ||
+ | Given Java value class named Foo, here is the derived factory method: | ||
+ | public Foo createFoo(); | ||
+ | • An element instance factory method signature for each bound element | ||
+ | declaration. | ||
+ | public JAXBElement<T> createFoo(T elementValue); | ||
+ | • Dynamic instance factory allocator method signature: | ||
+ | public Object newInstance(Class javaContentInterface); | ||
+ | • Property setter/getter | ||
+ | Provide the ability to associate implementation specific property/value | ||
+ | pairs with the instance creation process. | ||
+ | Enum Type | ||
+ | 1/8/09 JAXB 2.2 – Final Release 51 | ||
+ | java.lang.Object getProperty(String name); | ||
+ | void setProperty(String name, Object value); | ||
+ | }} | ||
+ | |||
+ | </div> |
Revision as of 14:25, 2 September 2010
Supporting ObjectFactory in Dynamic JAXB
Background
In standard JAXB, when classes are generated from a schema, an ObjectFactory class is also created, with methods to create new instances of all types in the schema, etc. From the JAXB 2.2 spec: