org.eclipse.persistence.jaxb.compiler
public class SchemaGenerator extends Object
Purpose:To generate Schema objects based on a map of TypeInfo objects, and some additional information gathered by the AnnotationsProcessing phase.
Responsibilities:
This class is used by the Generator to handle the generation of Schemas. The Generator passes in a map of TypeInfo objects, generated by the Annotations processor. The generated Schemas are stored in a map of keyed on Target Namespace.
TypeInfo
,
AnnotationsProcessor
,
Generator
Constructor and Description |
---|
SchemaGenerator(Helper helper) |
Modifier and Type | Method and Description |
---|---|
void |
addGlobalElements(HashMap<QName,ElementDeclaration> additionalElements) |
void |
addSchemaComponents(JavaClass myClass) |
void |
addToSchemaType(TypeInfo ownerTypeInfo,
List<Property> properties,
org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle compositor,
org.eclipse.persistence.internal.oxm.schema.model.ComplexType type,
org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema) |
org.eclipse.persistence.internal.oxm.schema.model.Attribute |
createGlobalAttribute(org.eclipse.persistence.internal.oxm.XPathFragment frag,
org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema,
org.eclipse.persistence.internal.oxm.schema.model.Schema fragSchema,
Property next)
Create a global attribute.
|
org.eclipse.persistence.internal.oxm.schema.model.Element |
createGlobalElement(org.eclipse.persistence.internal.oxm.XPathFragment frag,
org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema,
org.eclipse.persistence.internal.oxm.schema.model.Schema fragSchema,
boolean isChoice,
boolean isUnbounded)
Create a global element.
|
org.eclipse.persistence.internal.oxm.schema.model.Attribute |
createRefAttribute(String attributeRefName,
org.eclipse.persistence.internal.oxm.schema.model.ComplexType owningComplexType)
Create an attribute reference and add it to a given complex type.
|
org.eclipse.persistence.internal.oxm.schema.model.Element |
createRefElement(String elementRefName,
org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
Create an element reference and add it to a given particle.
|
org.eclipse.persistence.internal.oxm.schema.model.Schema |
generateSchema(ArrayList<JavaClass> typeInfoClasses,
HashMap<String,TypeInfo> typeInfo,
HashMap<String,QName> userDefinedSchemaTypes,
HashMap<String,NamespaceInfo> packageToNamespaceMappings,
HashMap<QName,ElementDeclaration> additionalGlobalElements,
Map<String,Class> arrayClassesToGeneratedClasses) |
Collection<org.eclipse.persistence.internal.oxm.schema.model.Schema> |
getAllSchemas() |
ArrayList<String> |
getEnumerationFacetsFor(EnumTypeInfo info) |
NamespaceInfo |
getNamespaceInfoForNamespace(String namespace) |
String |
getOrGeneratePrefixForNamespace(String URI,
org.eclipse.persistence.internal.oxm.schema.model.Schema schema)
Attempt to resolve the given URI to a prefix.
|
String |
getPrefixForNamespace(String URI,
NamespaceResolver namespaceResolver) |
QName |
getSchemaTypeFor(JavaClass javaClass) |
HashMap<String,SchemaTypeInfo> |
getSchemaTypeInfo() |
String |
getSchemaTypeNameForClassName(String className) |
Property |
getXmlValueFieldForSimpleContent(TypeInfo info) |
boolean |
isCollectionType(Property field) |
void |
populateSchemaTypes() |
public SchemaGenerator(Helper helper)
public org.eclipse.persistence.internal.oxm.schema.model.Schema generateSchema(ArrayList<JavaClass> typeInfoClasses, HashMap<String,TypeInfo> typeInfo, HashMap<String,QName> userDefinedSchemaTypes, HashMap<String,NamespaceInfo> packageToNamespaceMappings, HashMap<QName,ElementDeclaration> additionalGlobalElements, Map<String,Class> arrayClassesToGeneratedClasses)
public void addSchemaComponents(JavaClass myClass)
public void addToSchemaType(TypeInfo ownerTypeInfo, List<Property> properties, org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle compositor, org.eclipse.persistence.internal.oxm.schema.model.ComplexType type, org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema)
public void populateSchemaTypes()
public ArrayList<String> getEnumerationFacetsFor(EnumTypeInfo info)
public boolean isCollectionType(Property field)
public Collection<org.eclipse.persistence.internal.oxm.schema.model.Schema> getAllSchemas()
public NamespaceInfo getNamespaceInfoForNamespace(String namespace)
public String getPrefixForNamespace(String URI, NamespaceResolver namespaceResolver)
public String getOrGeneratePrefixForNamespace(String URI, org.eclipse.persistence.internal.oxm.schema.model.Schema schema)
URI
- schema
- public void addGlobalElements(HashMap<QName,ElementDeclaration> additionalElements)
public HashMap<String,SchemaTypeInfo> getSchemaTypeInfo()
public org.eclipse.persistence.internal.oxm.schema.model.Attribute createGlobalAttribute(org.eclipse.persistence.internal.oxm.XPathFragment frag, org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema, org.eclipse.persistence.internal.oxm.schema.model.Schema fragSchema, Property next)
frag
- workingSchema
- fragSchema
- next
- public org.eclipse.persistence.internal.oxm.schema.model.Element createGlobalElement(org.eclipse.persistence.internal.oxm.XPathFragment frag, org.eclipse.persistence.internal.oxm.schema.model.Schema workingSchema, org.eclipse.persistence.internal.oxm.schema.model.Schema fragSchema, boolean isChoice, boolean isUnbounded)
frag
- workingSchema
- fragSchema
- isChoice
- isUnbounded
- public org.eclipse.persistence.internal.oxm.schema.model.Element createRefElement(String elementRefName, org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
elementRefName
- particle
- public org.eclipse.persistence.internal.oxm.schema.model.Attribute createRefAttribute(String attributeRefName, org.eclipse.persistence.internal.oxm.schema.model.ComplexType owningComplexType)
attributeRefName
- owningComplexType
-