public class MappingsGenerator
extends java.lang.Object
Purpose:To generate a TopLink OXM Project based on Java Class and TypeInfo information
Responsibilities:
This class is invoked by a Generator in order to create a TopLink Project. This is generally used by JAXBContextFactory to create the runtime project. A Descriptor will be generated for each TypeInfo and Mappings generated for each Property. In the case that a non-transient property's type is a user defined class, a Descriptor and Mappings will be generated for that class as well.
Modifier and Type | Field and Description |
---|---|
static javax.xml.namespace.QName |
RESERVED_QNAME |
Constructor and Description |
---|
MappingsGenerator(Helper helper) |
Modifier and Type | Method and Description |
---|---|
AnyAttributeMapping |
generateAnyAttributeMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
AnyCollectionMapping |
generateAnyCollectionMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
boolean isMixed) |
AnyObjectMapping |
generateAnyObjectMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
BinaryDataCollectionMapping |
generateBinaryDataCollectionMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
BinaryDataMapping |
generateBinaryMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
ChoiceCollectionMapping |
generateChoiceCollectionMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespace) |
ChoiceObjectMapping |
generateChoiceMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespace) |
Mapping |
generateCollectionMapping(Property property,
Descriptor descriptor,
JavaClass descriptorJavaClass,
NamespaceInfo namespaceInfo) |
CompositeCollectionMapping |
generateCompositeCollectionMapping(Property property,
Descriptor descriptor,
JavaClass javaClass,
NamespaceInfo namespaceInfo,
java.lang.String referenceClassName) |
CompositeObjectMapping |
generateCompositeObjectMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
java.lang.String referenceClassName) |
void |
generateDescriptor(JavaClass javaClass,
CoreProject project) |
void |
generateDescriptorForJAXBElementSubclass(JavaClass javaClass,
CoreProject project,
NamespaceResolver nsr) |
DirectCollectionMapping |
generateDirectCollectionMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
DirectMapping |
generateDirectEnumerationMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
EnumTypeInfo enumInfo) |
DirectMapping |
generateDirectMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
DirectCollectionMapping |
generateEnumCollectionMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
EnumTypeInfo info) |
Mapping |
generateMapping(Property property,
Descriptor descriptor,
JavaClass descriptorJavaClass,
NamespaceInfo namespaceInfo)
Generate a mapping for a given Property.
|
Mapping |
generateMappingForReferenceProperty(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo) |
void |
generateMappings() |
void |
generateMappings(TypeInfo info,
Descriptor descriptor,
JavaClass descriptorJavaClass,
NamespaceInfo namespaceInfo)
Generate mappings for a given TypeInfo.
|
CoreProject |
generateProject(java.util.List<JavaClass> typeInfoClasses,
java.util.Map<java.lang.String,TypeInfo> typeInfo,
java.util.Map<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes,
java.util.Map<java.lang.String,PackageInfo> packageToPackageInfoMappings,
java.util.Map<javax.xml.namespace.QName,ElementDeclaration> globalElements,
java.util.List<ElementDeclaration> localElements,
java.util.Map<TypeMappingInfo,java.lang.Class> typeMappingInfoToGeneratedClass,
java.util.Map<TypeMappingInfo,java.lang.Class> typeMappingInfoToAdapterClasses,
boolean isDefaultNamespaceAllowed) |
TransformationMapping |
generateTransformationMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespace)
Generate an XMLTransformationMapping based on a given Property.
|
java.lang.Class |
generateWrapperClass(java.lang.String className,
java.lang.String attributeType,
boolean isList,
javax.xml.namespace.QName theQName) |
CollectionReferenceMapping |
generateXMLCollectionReferenceMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
JavaClass referenceClass)
Create an XMLCollectionReferenceMapping and add it to the descriptor.
|
ObjectReferenceMapping |
generateXMLObjectReferenceMapping(Property property,
Descriptor descriptor,
NamespaceInfo namespaceInfo,
JavaClass referenceClass)
Create an XMLObjectReferenceMapping and add it to the descriptor.
|
java.util.Map<java.lang.String,java.lang.Class> |
getClassToGeneratedClasses() |
JaxbClassLoader |
getJaxbClassLoader() |
java.lang.String |
getPrefixForNamespace(java.lang.String URI,
NamespaceResolver namespaceResolver) |
java.lang.String |
getPrefixForNamespace(java.lang.String URI,
NamespaceResolver namespaceResolver,
boolean addPrefixToNR) |
java.util.Map<javax.xml.namespace.QName,java.lang.Class> |
getQNamesToDeclaredClasses() |
java.util.Map<javax.xml.namespace.QName,java.lang.Class> |
getQNamesToGeneratedClasses() |
java.lang.String |
getSchemaTypeNameForClassName(java.lang.String className) |
Property |
getXmlValueFieldForSimpleContent(java.util.ArrayList<Property> properties) |
Field |
getXPathForElement(java.lang.String path,
javax.xml.namespace.QName elementName,
NamespaceInfo namespaceInfo,
boolean isText) |
Field |
getXPathForField(Property property,
NamespaceInfo namespaceInfo,
boolean isTextMapping,
boolean isAny) |
void |
processGlobalElements(CoreProject project) |
public MappingsGenerator(Helper helper)
public CoreProject generateProject(java.util.List<JavaClass> typeInfoClasses, java.util.Map<java.lang.String,TypeInfo> typeInfo, java.util.Map<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes, java.util.Map<java.lang.String,PackageInfo> packageToPackageInfoMappings, java.util.Map<javax.xml.namespace.QName,ElementDeclaration> globalElements, java.util.List<ElementDeclaration> localElements, java.util.Map<TypeMappingInfo,java.lang.Class> typeMappingInfoToGeneratedClass, java.util.Map<TypeMappingInfo,java.lang.Class> typeMappingInfoToAdapterClasses, boolean isDefaultNamespaceAllowed) throws java.lang.Exception
java.lang.Exception
public void generateDescriptor(JavaClass javaClass, CoreProject project)
public void generateDescriptorForJAXBElementSubclass(JavaClass javaClass, CoreProject project, NamespaceResolver nsr)
public Mapping generateMapping(Property property, Descriptor descriptor, JavaClass descriptorJavaClass, NamespaceInfo namespaceInfo)
property
- descriptor
- namespaceInfo
- public TransformationMapping generateTransformationMapping(Property property, Descriptor descriptor, NamespaceInfo namespace)
property
- descriptor
- namespace
- public ChoiceObjectMapping generateChoiceMapping(Property property, Descriptor descriptor, NamespaceInfo namespace)
public ChoiceCollectionMapping generateChoiceCollectionMapping(Property property, Descriptor descriptor, NamespaceInfo namespace)
public Mapping generateMappingForReferenceProperty(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public AnyCollectionMapping generateAnyCollectionMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, boolean isMixed)
public CompositeObjectMapping generateCompositeObjectMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, java.lang.String referenceClassName)
public DirectMapping generateDirectMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public BinaryDataMapping generateBinaryMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public BinaryDataCollectionMapping generateBinaryDataCollectionMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public DirectMapping generateDirectEnumerationMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, EnumTypeInfo enumInfo)
public Mapping generateCollectionMapping(Property property, Descriptor descriptor, JavaClass descriptorJavaClass, NamespaceInfo namespaceInfo)
public DirectCollectionMapping generateEnumCollectionMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, EnumTypeInfo info)
public AnyAttributeMapping generateAnyAttributeMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public AnyObjectMapping generateAnyObjectMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public CompositeCollectionMapping generateCompositeCollectionMapping(Property property, Descriptor descriptor, JavaClass javaClass, NamespaceInfo namespaceInfo, java.lang.String referenceClassName)
public DirectCollectionMapping generateDirectCollectionMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo)
public java.lang.String getPrefixForNamespace(java.lang.String URI, NamespaceResolver namespaceResolver)
public java.lang.String getPrefixForNamespace(java.lang.String URI, NamespaceResolver namespaceResolver, boolean addPrefixToNR)
public void generateMappings()
public void generateMappings(TypeInfo info, Descriptor descriptor, JavaClass descriptorJavaClass, NamespaceInfo namespaceInfo)
info
- descriptor
- namespaceInfo
- public CollectionReferenceMapping generateXMLCollectionReferenceMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
property
- descriptor
- namespaceInfo
- referenceClass
- public ObjectReferenceMapping generateXMLObjectReferenceMapping(Property property, Descriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
property
- descriptor
- namespaceInfo
- referenceClass
- public Field getXPathForField(Property property, NamespaceInfo namespaceInfo, boolean isTextMapping, boolean isAny)
public Field getXPathForElement(java.lang.String path, javax.xml.namespace.QName elementName, NamespaceInfo namespaceInfo, boolean isText)
public Property getXmlValueFieldForSimpleContent(java.util.ArrayList<Property> properties)
public java.lang.String getSchemaTypeNameForClassName(java.lang.String className)
public void processGlobalElements(CoreProject project)
public java.lang.Class generateWrapperClass(java.lang.String className, java.lang.String attributeType, boolean isList, javax.xml.namespace.QName theQName)
public java.util.Map<javax.xml.namespace.QName,java.lang.Class> getQNamesToGeneratedClasses()
public java.util.Map<java.lang.String,java.lang.Class> getClassToGeneratedClasses()
public java.util.Map<javax.xml.namespace.QName,java.lang.Class> getQNamesToDeclaredClasses()
public JaxbClassLoader getJaxbClassLoader()
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference