EclipseLink 1.0_1.0M2 API Reference - Incubation

org.eclipse.persistence.jaxb.compiler
Class MappingsGenerator

java.lang.Object
  extended by org.eclipse.persistence.jaxb.compiler.MappingsGenerator

public class MappingsGenerator
extends java.lang.Object

INTERNAL:

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.

See Also:
Generator, TypeInfo, TypeProperty
Author:
mmacivor
Since:
Oracle TopLink 11.1.1.0.0

Constructor Summary
MappingsGenerator(Helper helper)
           
 
Method Summary
protected  boolean areEquals(JavaClass src, java.lang.Class tgt)
           
 void generateAnyAttributeMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 XMLBinaryDataMapping generateBinaryMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 void generateCollectionMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 XMLCompositeCollectionMapping generateCompositeCollectionMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
           
 XMLCompositeObjectMapping generateCompositeObjectMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
           
 void generateDescriptor(JavaClass javaClass, Project project)
           
 XMLCompositeDirectCollectionMapping generateDirectCollectionMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 void generateDirectEnumerationMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, EnumTypeInfo enumInfo)
           
 XMLDirectMapping generateDirectMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 void generateEnumCollectionMapping(TypeProperty property, EnumTypeInfo info, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 void generateMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 void generateMappings()
           
 void generateMappings(TypeInfo info, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
           
 Project generateProject(java.util.ArrayList<JavaClass> typeInfoClasses, java.util.HashMap<java.lang.String,TypeInfo> typeInfo, java.util.HashMap userDefinedSchemaTypes, java.util.HashMap<java.lang.String,NamespaceInfo> packageToNamespaceMappings)
           
 void generateXMLCollectionReferenceMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
          Create an XMLCollectionReferenceMapping and add it to the descriptor.
 void generateXMLObjectReferenceMapping(TypeProperty property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
          Create an XMLObjectReferenceMapping and add it to the descriptor.
 java.util.ArrayList getEnumerationFacetsFor(EnumTypeInfo info)
           
 java.util.ArrayList<TypeProperty> getFieldPropertiesForClass(JavaClass cls, TypeInfo info, boolean onlyPublic)
           
 java.util.ArrayList getNoAccessTypePropertiesForClass(JavaClass cls, TypeInfo info)
           
 java.lang.String getPrefixForNamespace(java.lang.String URI, NamespaceResolver namespaceResolver)
           
 java.util.ArrayList<TypeProperty> getPropertiesForClass(JavaClass cls, TypeInfo info)
           
 java.util.HashMap getPropertyMapFromArrayList(java.util.ArrayList<TypeProperty> props)
           
 java.util.ArrayList<TypeProperty> getPropertyPropertiesForClass(JavaClass cls, TypeInfo info, boolean onlyPublic)
           
 java.util.ArrayList getPublicMemberPropertiesForClass(JavaClass cls, TypeInfo info)
           
 java.lang.String getSchemaTypeNameForClassName(java.lang.String className)
           
 TypeProperty getXmlValueFieldForSimpleContent(java.util.ArrayList<TypeProperty> properties)
           
 XMLField getXPathForField(TypeProperty property, NamespaceInfo namespaceInfo, boolean isTextMapping)
           
 boolean isCollectionType(TypeProperty field)
           
 boolean isMapType(TypeProperty property)
           
 void processSchemaType(XmlSchemaType type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MappingsGenerator

public MappingsGenerator(Helper helper)
Method Detail

generateProject

public Project generateProject(java.util.ArrayList<JavaClass> typeInfoClasses,
                               java.util.HashMap<java.lang.String,TypeInfo> typeInfo,
                               java.util.HashMap userDefinedSchemaTypes,
                               java.util.HashMap<java.lang.String,NamespaceInfo> packageToNamespaceMappings)
                        throws java.lang.Exception
Throws:
java.lang.Exception

generateDescriptor

public void generateDescriptor(JavaClass javaClass,
                               Project project)

generateMapping

public void generateMapping(TypeProperty property,
                            XMLDescriptor descriptor,
                            NamespaceInfo namespaceInfo)

generateCompositeObjectMapping

public XMLCompositeObjectMapping generateCompositeObjectMapping(TypeProperty property,
                                                                XMLDescriptor descriptor,
                                                                NamespaceInfo namespaceInfo,
                                                                JavaClass referenceClass)

generateDirectMapping

public XMLDirectMapping generateDirectMapping(TypeProperty property,
                                              XMLDescriptor descriptor,
                                              NamespaceInfo namespaceInfo)

generateBinaryMapping

public XMLBinaryDataMapping generateBinaryMapping(TypeProperty property,
                                                  XMLDescriptor descriptor,
                                                  NamespaceInfo namespaceInfo)

generateDirectEnumerationMapping

public void generateDirectEnumerationMapping(TypeProperty property,
                                             XMLDescriptor descriptor,
                                             NamespaceInfo namespaceInfo,
                                             EnumTypeInfo enumInfo)

generateCollectionMapping

public void generateCollectionMapping(TypeProperty property,
                                      XMLDescriptor descriptor,
                                      NamespaceInfo namespaceInfo)

generateEnumCollectionMapping

public void generateEnumCollectionMapping(TypeProperty property,
                                          EnumTypeInfo info,
                                          XMLDescriptor descriptor,
                                          NamespaceInfo namespaceInfo)

generateAnyAttributeMapping

public void generateAnyAttributeMapping(TypeProperty property,
                                        XMLDescriptor descriptor,
                                        NamespaceInfo namespaceInfo)

areEquals

protected boolean areEquals(JavaClass src,
                            java.lang.Class tgt)

generateCompositeCollectionMapping

public XMLCompositeCollectionMapping generateCompositeCollectionMapping(TypeProperty property,
                                                                        XMLDescriptor descriptor,
                                                                        NamespaceInfo namespaceInfo,
                                                                        JavaClass referenceClass)

generateDirectCollectionMapping

public XMLCompositeDirectCollectionMapping generateDirectCollectionMapping(TypeProperty property,
                                                                           XMLDescriptor descriptor,
                                                                           NamespaceInfo namespaceInfo)

getPrefixForNamespace

public java.lang.String getPrefixForNamespace(java.lang.String URI,
                                              NamespaceResolver namespaceResolver)

isCollectionType

public boolean isCollectionType(TypeProperty field)

generateMappings

public void generateMappings()

generateMappings

public void generateMappings(TypeInfo info,
                             XMLDescriptor descriptor,
                             NamespaceInfo namespaceInfo)

generateXMLCollectionReferenceMapping

public void generateXMLCollectionReferenceMapping(TypeProperty property,
                                                  XMLDescriptor descriptor,
                                                  NamespaceInfo namespaceInfo,
                                                  JavaClass referenceClass)
Create an XMLCollectionReferenceMapping and add it to the descriptor.

Parameters:
property -
descriptor -
namespaceInfo -
referenceClass -

generateXMLObjectReferenceMapping

public void generateXMLObjectReferenceMapping(TypeProperty property,
                                              XMLDescriptor descriptor,
                                              NamespaceInfo namespaceInfo,
                                              JavaClass referenceClass)
Create an XMLObjectReferenceMapping and add it to the descriptor.

Parameters:
property -
descriptor -
namespaceInfo -
referenceClass -

getXPathForField

public XMLField getXPathForField(TypeProperty property,
                                 NamespaceInfo namespaceInfo,
                                 boolean isTextMapping)

getXmlValueFieldForSimpleContent

public TypeProperty getXmlValueFieldForSimpleContent(java.util.ArrayList<TypeProperty> properties)

getPropertiesForClass

public java.util.ArrayList<TypeProperty> getPropertiesForClass(JavaClass cls,
                                                               TypeInfo info)

getFieldPropertiesForClass

public java.util.ArrayList<TypeProperty> getFieldPropertiesForClass(JavaClass cls,
                                                                    TypeInfo info,
                                                                    boolean onlyPublic)

getPropertyPropertiesForClass

public java.util.ArrayList<TypeProperty> getPropertyPropertiesForClass(JavaClass cls,
                                                                       TypeInfo info,
                                                                       boolean onlyPublic)

getPublicMemberPropertiesForClass

public java.util.ArrayList getPublicMemberPropertiesForClass(JavaClass cls,
                                                             TypeInfo info)

getPropertyMapFromArrayList

public java.util.HashMap getPropertyMapFromArrayList(java.util.ArrayList<TypeProperty> props)

getNoAccessTypePropertiesForClass

public java.util.ArrayList getNoAccessTypePropertiesForClass(JavaClass cls,
                                                             TypeInfo info)

processSchemaType

public void processSchemaType(XmlSchemaType type)

getEnumerationFacetsFor

public java.util.ArrayList getEnumerationFacetsFor(EnumTypeInfo info)

getSchemaTypeNameForClassName

public java.lang.String getSchemaTypeNameForClassName(java.lang.String className)

isMapType

public boolean isMapType(TypeProperty property)

EclipseLink 1.0_1.0M2 API Reference - Incubation