java.lang.Object |
↳ |
com.google.code.linkedinapi.schema.impl.JAXBContextFactory |
Class Overview
This class implements the actual logic of newInstance(Class...)
.
This class works as a facade and all the actual work is delegated to
a JAXB provider that happens to be in the runtime (not necessarily the JAXB RI.)
This allows the generated code to be run with any JAXB provider.
This code is only used when XJC generates interfaces/implementations.
The trick to make this work is two ObjectFactory classes that we generate
in the interface/implementation mode.
The public ObjectFactory follows the spec, and this is the one that's exposed
to users. The public ObjectFactory refers to interfaces, so they aren't
directly usable by a JAXB 2.0 implementation.
The private one lives in the impl package, and this one is indistinguishable
from the ObjectFactory that we generate for the value class generation mode.
This private ObjectFactory refers to implementation classes, which are
also indistinguishable from value classes that JAXB generates.
All in all, the private ObjectFactory plus implementation classes give
a JAXB provider an illusion that they are dealing with value classes
that happens to implement some interfaces.
In this way, the JAXB RI can provide the portability even for the
interface/implementation generation mode.
Summary
Public Methods |
static
JAXBContext
|
createContext(Class[] classes, Map properties)
The JAXB API will invoke this method via reflection
|
static
JAXBContext
|
createContext(String contextPath, ClassLoader classLoader, Map properties)
The JAXB API will invoke this method via reflection
|
[Expand]
Inherited Methods |
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
|
Constants
private
static
final
String
DOT_OBJECT_FACTORY
Constant Value:
".ObjectFactory"
private
static
final
String
IMPL_DOT_OBJECT_FACTORY
Constant Value:
".impl.ObjectFactory"
Public Constructors
public
JAXBContextFactory
()
Public Methods
public
static
JAXBContext
createContext
(Class[] classes, Map properties)
The JAXB API will invoke this method via reflection
public
static
JAXBContext
createContext
(String contextPath, ClassLoader classLoader, Map properties)
The JAXB API will invoke this method via reflection
Parameters
contextPath
| |
classLoader
| |
properties
| |