org.eclipse.persistence.jaxb.compiler
public class MappingsGenerator extends 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 QName |
RESERVED_QNAME |
Constructor and Description |
---|
MappingsGenerator(Helper helper) |
public static final QName RESERVED_QNAME
public MappingsGenerator(Helper helper)
public Project generateProject(ArrayList<JavaClass> typeInfoClasses, HashMap<String,TypeInfo> typeInfo, HashMap<String,QName> userDefinedSchemaTypes, HashMap<String,NamespaceInfo> packageToNamespaceMappings, HashMap<QName,ElementDeclaration> globalElements, List<ElementDeclaration> localElements, Map<TypeMappingInfo,Class> typeMappingInfoToGeneratedClass, Map<TypeMappingInfo,Class> typeMappingInfoToAdapterClasses, boolean isDefaultNamespaceAllowed) throws Exception
Exception
public void generateDescriptorForJAXBElementSubclass(JavaClass javaClass, Project project, NamespaceResolver nsr)
public void generateMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLChoiceObjectMapping generateChoiceMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespace)
public XMLChoiceCollectionMapping generateChoiceCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespace)
public XMLMapping generateMappingForReferenceProperty(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLAnyCollectionMapping generateAnyCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, boolean isMixed)
public XMLCompositeObjectMapping generateCompositeObjectMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, String referenceClassName)
public XMLDirectMapping generateDirectMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLBinaryDataMapping generateBinaryMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLBinaryDataCollectionMapping generateBinaryDataCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public void generateDirectEnumerationMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, EnumTypeInfo enumInfo)
public void generateCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public void generateEnumCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, EnumTypeInfo info)
public void generateAnyAttributeMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLAnyObjectMapping generateAnyObjectMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLCompositeCollectionMapping generateMapMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public XMLCompositeCollectionMapping generateCompositeCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, String referenceClassName)
public XMLCompositeDirectCollectionMapping generateDirectCollectionMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public String getPrefixForNamespace(String URI, NamespaceResolver namespaceResolver, String suggestedPrefix)
public String getPrefixForNamespace(String URI, NamespaceResolver namespaceResolver, String suggestedPrefix, boolean addPrefixToNR)
public boolean isCollectionType(Property field)
public boolean isCollectionType(JavaClass type)
public void generateMappings()
public void generateMappings(TypeInfo info, XMLDescriptor descriptor, NamespaceInfo namespaceInfo)
public void generateXMLCollectionReferenceMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
property
- descriptor
- namespaceInfo
- referenceClass
- public void generateXMLObjectReferenceMapping(Property property, XMLDescriptor descriptor, NamespaceInfo namespaceInfo, JavaClass referenceClass)
property
- descriptor
- namespaceInfo
- referenceClass
- public XMLField getXPathForField(Property property, NamespaceInfo namespaceInfo, boolean isTextMapping)
public XMLField getXPathForElement(String path, QName elementName, NamespaceInfo namespaceInfo, boolean isText)
public Property getXmlValueFieldForSimpleContent(ArrayList<Property> properties)
public boolean isMapType(Property property)
public void processGlobalElements(Project project)
public Class generateWrapperClass(String className, String attributeType, boolean isList, QName theQName)