|
Oracle Fusion Middleware Java API Reference for Oracle TopLink 11g Release 1 (11.1.1) E28847-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
javax.xml.bind.JAXBContext
org.eclipse.persistence.jaxb.JAXBContext
public class JAXBContext
Purpose:Provide a EclipseLink implementation of the JAXBContext interface.
Responsibilities:
This is the EclipseLink JAXB 2.0 implementation of javax.xml.bind.JAXBContext. This class is created by the JAXBContextFactory and is used to create Marshallers, Unmarshallers, Validators, Binders and Introspectors. A JAXBContext can also be used to create Schema Files.
Bootstrapping: When bootstrapping the JAXBContext from a EclipseLink externalized metadata file(s) a number of input options are available. The externalized metadata file (one per package) is passed in through a property when creating the JAXBContext. The key used in the properties map is "eclipselink-oxm-xml". The externalized metadata file can be set in the properties map in one of three ways:
i) For a single externalized metadata file, one of the following can be set in the properties map:
When using one of the above options, the package name must be set via package-name attribute on the xml-bindings element in the externalized metadata file.
ii) For multiple externalized metadata files where the package name is specified within each externalized metadata file, a List can be used. The entries in the List are to be one of the types listed in i) above.
iii) For multiple externalized metadata files where the package name is not specified in each externalized metadata file, a Map can be used. The key must be a String (package name) and each value in the Map (externalized metadata file) is to be one of the types listed in i) above.
Note that in each of the above cases the package name can be set via package-name attribute on the xml-bindings element in the externalized metadata file. If set, any java-type names in the given metadata file that do not contain the package name will have that package name prepended to it. Also note that a List or Map can be used for a single externalized metadata file.
JAXBContext
, JAXBMarshaller
, JAXBUnmarshaller
, JAXBBinder
, JAXBIntrospector
Nested Class Summary | |
---|---|
(package private) static class |
JAXBContext.ContextPathInput |
(package private) static class |
JAXBContext.JAXBContextInput |
private static class |
JAXBContext.JAXBContextState |
(package private) static class |
JAXBContext.RootLevelXmlAdapter |
(package private) static class |
JAXBContext.TypeMappingInfoInput |
Field Summary | |
---|---|
private JAXBContext.JAXBContextInput |
contextInput |
private JAXBContext.JAXBContextState |
contextState |
private static java.util.Map<java.lang.String,java.lang.Boolean> |
PARSER_FEATURES |
Fields inherited from class javax.xml.bind.JAXBContext |
---|
JAXB_CONTEXT_FACTORY |
Constructor Summary | |
---|---|
protected |
JAXBContext() |
protected |
JAXBContext(JAXBContext.JAXBContextInput contextInput) |
|
JAXBContext(XMLContext context) Create a JAXBContext for a given XMLContext. |
|
JAXBContext(XMLContext context, Generator generator, java.lang.reflect.Type[] boundTypes) Create a JAXBContext. |
|
JAXBContext(XMLContext context, Generator generator, TypeMappingInfo[] boundTypes) Create a JAXBContext. |
Method Summary | ||
---|---|---|
void |
applyORMMetadata(org.eclipse.persistence.internal.sessions.AbstractSession ormSession) ADVANCED: Adjust the OXM metadata to take into account ORM mapping metadata |
|
JAXBBinder |
createBinder() Create a JAXBBinder. |
|
|
createBinder(java.lang.Class<T> nodeClass) Create a JAXBBinder. |
|
java.lang.Object |
createByQualifiedName(java.lang.String namespace, java.lang.String typeName, boolean isGlobalType) Create a new object instance for a given XML namespace and name. |
|
|
createByXPath(java.lang.Object parentObject, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Class<T> returnType) Create a new object instance for a given XPath, relative to the parentObject. |
|
JAXBIntrospector |
createJAXBIntrospector() Creates a JAXBIntrospector object. |
|
JAXBMarshaller |
createMarshaller() Create a JAXBMarshaller. |
|
JAXBUnmarshaller |
createUnmarshaller() Create a JAXBUnmarshaller. |
|
JAXBValidator |
createValidator() Create a JAXBValidator. |
|
void |
generateSchema(javax.xml.bind.SchemaOutputResolver outputResolver) Generate a Schema for this JAXBContext |
|
void |
generateSchema(javax.xml.bind.SchemaOutputResolver outputResolver, java.util.Map<javax.xml.namespace.QName,java.lang.reflect.Type> additonalGlobalElements) Generate a Schema for this JAXBContext |
|
java.util.Map<java.lang.String,java.lang.Class> |
getArrayClassesToGeneratedClasses() INTERNAL: Get the map for which array class (by name) corresponds to which generated class |
|
java.util.HashMap<java.lang.String,java.lang.Class> |
getClassToGeneratedClasses() INTERNAL: Get the map containing which Class (by name) corresponds to which generated class. |
|
java.util.Map<java.lang.reflect.Type,java.lang.Class> |
getCollectionClassesToGeneratedClasses() INTERNAL: Get the map for which collection class (by Type) corresponds to which generated class |
|
java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> |
getQNamesToDeclaredClasses() INTERNAL: Get the map of which QName corresponds to which declared class. |
|
(package private) java.util.Map<javax.xml.namespace.QName,java.lang.Class> |
getQNameToGeneratedClasses() INTERNAL: Get the map of which QName corresponds to which generated class. |
|
(package private) java.util.Map<TypeMappingInfo,java.lang.Class> |
getTypeMappingInfoToGeneratedType() |
|
(package private) java.util.Map<TypeMappingInfo,JAXBContext.RootLevelXmlAdapter> |
getTypeMappingInfoToJavaTypeAdapters() |
|
java.util.Map<TypeMappingInfo,javax.xml.namespace.QName> |
getTypeMappingInfoToSchemaType() INTERNAL: Get the map of which TypeMappingInfo corresponds to which QName. |
|
java.util.HashMap<java.lang.reflect.Type,javax.xml.namespace.QName> |
getTypeToSchemaType() INTERNAL: Get the map of which Type corresponds to which QName. |
|
(package private) java.util.Map<java.lang.reflect.Type,TypeMappingInfo> |
getTypeToTypeMappingInfo() |
|
|
getValueByXPath(java.lang.Object object, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Class<T> returnType) Get a value from an object based on an XPath statement. |
|
XMLContext |
getXMLContext() Return the XMLContext associated with this JAXBContext. |
|
boolean |
hasSwaRef() Returns true if any Object in this context contains a property annotated with an XmlAttachmentRef annotation. |
|
void |
initTypeToSchemaType() INTERNAL: Populate the map of which Type corresponds to which QName. |
|
void |
refreshMetadata() ADVANCED: Refresh the underlying metadata based on the inputs that were used to create the JAXBContext. |
|
void |
setClassToGeneratedClasses(java.util.HashMap<java.lang.String,java.lang.Class> classToClass) INTERNAL: Set the map containing which Class (by name) corresponds to which generated class. |
|
void |
setQNamesToDeclaredClasses(java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> nameToDeclaredClasses) INTERNAL: Set the map of which QName corresponds to which declared class. |
|
void |
setQNameToGeneratedClasses(java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> qNameToClass) INTERNAL: Set the map containing which QName corresponds to which generated class. |
|
(package private) void |
setTypeMappingInfoToJavaTypeAdapaters(java.util.Map<TypeMappingInfo,JAXBContext.RootLevelXmlAdapter> typeMappingInfoToAdapters) |
|
(package private) void |
setTypeToTypeMappingInfo(java.util.Map<java.lang.reflect.Type,TypeMappingInfo> typeToMappingInfo) |
|
void |
setValueByXPath(java.lang.Object object, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Object value) Set a value on an object based on an XPath statement. |
|
void |
setXMLContext(XMLContext xmlContext) |
Methods inherited from class javax.xml.bind.JAXBContext |
---|
newInstance, newInstance, newInstance, newInstance, newInstance |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.util.Map<java.lang.String,java.lang.Boolean> PARSER_FEATURES
private JAXBContext.JAXBContextInput contextInput
private volatile JAXBContext.JAXBContextState contextState
Constructor Detail |
---|
protected JAXBContext()
protected JAXBContext(JAXBContext.JAXBContextInput contextInput) throws javax.xml.bind.JAXBException
javax.xml.bind.JAXBException
public JAXBContext(XMLContext context)
public JAXBContext(XMLContext context, Generator generator, java.lang.reflect.Type[] boundTypes)
public JAXBContext(XMLContext context, Generator generator, TypeMappingInfo[] boundTypes)
Method Detail |
---|
public void refreshMetadata() throws javax.xml.bind.JAXBException
Refresh the underlying metadata based on the inputs that were used to create the JAXBContext. This is particularly useful when using the virtual property mappings. The refreshMetadata call could be made in the following way:
org.eclipse.persistence.jaxb.JAXBHelper.getJAXBContext(aJAXBContext).refreshMetadata();Note:
javax.xml.bind.JAXBException
public XMLContext getXMLContext()
public void setXMLContext(XMLContext xmlContext)
public void generateSchema(javax.xml.bind.SchemaOutputResolver outputResolver)
generateSchema
in class javax.xml.bind.JAXBContext
outputResolver
- Class that decides where the schema file (of the given namespace URI) will be writtenpublic void generateSchema(javax.xml.bind.SchemaOutputResolver outputResolver, java.util.Map<javax.xml.namespace.QName,java.lang.reflect.Type> additonalGlobalElements)
outputResolver
- Class that decides where the schema file (of the given namespace URI) will be writtenadditonalGlobalElements
- Map of additional global elements to be added to the generated XSD. Note that if any QName in this map conflicts with another global element (for example from a TypeMappingInfo object) then the element generated from this map will be the one that is present in the XSD.public JAXBMarshaller createMarshaller()
createMarshaller
in class javax.xml.bind.JAXBContext
public JAXBUnmarshaller createUnmarshaller()
createUnmarshaller
in class javax.xml.bind.JAXBContext
public JAXBValidator createValidator()
createValidator
in class javax.xml.bind.JAXBContext
public JAXBBinder createBinder()
createBinder
in class javax.xml.bind.JAXBContext
public <T> JAXBBinder createBinder(java.lang.Class<T> nodeClass)
createBinder
in class javax.xml.bind.JAXBContext
nodeClass
- The DOM Node class to usepublic JAXBIntrospector createJAXBIntrospector()
createJAXBIntrospector
in class javax.xml.bind.JAXBContext
public void setQNameToGeneratedClasses(java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> qNameToClass)
public java.util.HashMap<java.lang.String,java.lang.Class> getClassToGeneratedClasses()
public void setClassToGeneratedClasses(java.util.HashMap<java.lang.String,java.lang.Class> classToClass)
public void applyORMMetadata(org.eclipse.persistence.internal.sessions.AbstractSession ormSession)
public java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> getQNamesToDeclaredClasses()
java.util.Map<javax.xml.namespace.QName,java.lang.Class> getQNameToGeneratedClasses()
public void setQNamesToDeclaredClasses(java.util.HashMap<javax.xml.namespace.QName,java.lang.Class> nameToDeclaredClasses)
public java.util.Map<java.lang.String,java.lang.Class> getArrayClassesToGeneratedClasses()
public java.util.Map<java.lang.reflect.Type,java.lang.Class> getCollectionClassesToGeneratedClasses()
public void initTypeToSchemaType()
public java.util.Map<TypeMappingInfo,javax.xml.namespace.QName> getTypeMappingInfoToSchemaType()
public java.util.HashMap<java.lang.reflect.Type,javax.xml.namespace.QName> getTypeToSchemaType()
java.util.Map<TypeMappingInfo,java.lang.Class> getTypeMappingInfoToGeneratedType()
java.util.Map<java.lang.reflect.Type,TypeMappingInfo> getTypeToTypeMappingInfo()
void setTypeToTypeMappingInfo(java.util.Map<java.lang.reflect.Type,TypeMappingInfo> typeToMappingInfo)
void setTypeMappingInfoToJavaTypeAdapaters(java.util.Map<TypeMappingInfo,JAXBContext.RootLevelXmlAdapter> typeMappingInfoToAdapters)
java.util.Map<TypeMappingInfo,JAXBContext.RootLevelXmlAdapter> getTypeMappingInfoToJavaTypeAdapters()
public <T> T getValueByXPath(java.lang.Object object, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Class<T> returnType)
T
- The return type of this method corresponds to the returnType parameter.object
- The XPath will be executed relative to this object.xPath
- The XPath statement.namespaceResolver
- A NamespaceResolver containing the prefix/URI pairings from the XPath statement.returnType
- The return type.public void setValueByXPath(java.lang.Object object, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Object value)
object
- The XPath will be executed relative to this object.xPath
- The XPath statement.namespaceResolver
- A NamespaceResolver containing the prefix/URI pairings from the XPath statement.value
- The value to be set.public java.lang.Object createByQualifiedName(java.lang.String namespace, java.lang.String typeName, boolean isGlobalType)
namespace
- The namespace of the complex type to create a new Java instance of.typeName
- The XML type name to create a new Java instance of.isGlobalType
- True if the object to be created represents a global type, false if it represents a global element.public <T> T createByXPath(java.lang.Object parentObject, java.lang.String xPath, NamespaceResolver namespaceResolver, java.lang.Class<T> returnType)
T
- The return type of this method corresponds to the returnType parameter.parentObject
- The XPath will be executed relative to this object.xPath
- The XPath statement.namespaceResolver
- A NamespaceResolver containing the prefix/URI pairings from the XPath statement.returnType
- The return type.public boolean hasSwaRef()
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |