Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/2.1/DynamicMOXy/296967/BootstrapFromOXM/ObjectFactory"

(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:


Idea.png
A public class ObjectFactory 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);


Back to the top