| 
EclipseLink 2.3.2, build 'v20111125-r10461' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.persistence.jaxb.compiler.SchemaGenerator
public class SchemaGenerator
INTERNAL:
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 Summary | |
|---|---|
SchemaGenerator(Helper helper)
 | 
|
| Method Summary | |
|---|---|
 void | 
addGlobalElements(java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalElements)
 | 
 void | 
addSchemaComponents(JavaClass myClass)
 | 
 void | 
addToSchemaType(TypeInfo ownerTypeInfo,
                java.util.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)
 | 
protected  boolean | 
areEquals(JavaClass src,
          java.lang.Class tgt)
Compares a JavaModel JavaClass to a Class.  | 
protected  boolean | 
areEquals(JavaClass src,
          java.lang.String tgtCanonicalName)
Compares a JavaModel JavaClass to a Class.  | 
protected  org.eclipse.persistence.jaxb.compiler.SchemaGenerator.AddToSchemaResult | 
buildSchemaComponentsForXPath(org.eclipse.persistence.internal.oxm.XPathFragment frag,
                              org.eclipse.persistence.jaxb.compiler.SchemaGenerator.AddToSchemaResult xpr,
                              boolean isChoice,
                              Property next)
This method will build element/complexType/typedefparticle components for a given xml-path, and return an XmlPathResult instance containg the sequence that the target should be added to, as well as the current schema - which could be different than the working schema used before calling this method in the case of a prefixed path element from a different namespace.  | 
 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 prop)
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,
                    Property prop,
                    boolean shouldSetType)
Create a global element.  | 
 org.eclipse.persistence.internal.oxm.schema.model.Attribute | 
createRefAttribute(java.lang.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(java.lang.String elementRefName,
                 org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
Create an element reference and add it to a given particle.  | 
protected  org.eclipse.persistence.internal.oxm.schema.model.Element | 
elementExistsInParticle(java.lang.String elementName,
                        java.lang.String refString,
                        org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
Convenience method for determining if an element already exists in a given typedefparticle.  | 
 org.eclipse.persistence.internal.oxm.schema.model.Schema | 
generateSchema(java.util.ArrayList<JavaClass> typeInfoClasses,
               java.util.HashMap<java.lang.String,TypeInfo> typeInfo,
               java.util.HashMap<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes,
               java.util.HashMap<java.lang.String,PackageInfo> packageToPackageInfoMappings,
               java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalGlobalElements,
               java.util.Map<java.lang.String,java.lang.Class> arrayClassesToGeneratedClasses)
 | 
 org.eclipse.persistence.internal.oxm.schema.model.Schema | 
generateSchema(java.util.ArrayList<JavaClass> typeInfoClasses,
               java.util.HashMap<java.lang.String,TypeInfo> typeInfo,
               java.util.HashMap<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes,
               java.util.HashMap<java.lang.String,PackageInfo> packageToPackageInfoMappings,
               java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalGlobalElements,
               java.util.Map<java.lang.String,java.lang.Class> arrayClassesToGeneratedClasses,
               SchemaOutputResolver outputResolver)
 | 
 java.util.Collection<org.eclipse.persistence.internal.oxm.schema.model.Schema> | 
getAllSchemas()
 | 
 java.util.ArrayList<java.lang.String> | 
getEnumerationFacetsFor(EnumTypeInfo info)
 | 
 NamespaceInfo | 
getNamespaceInfoForNamespace(java.lang.String namespace)
 | 
 java.lang.String | 
getOrGeneratePrefixForNamespace(java.lang.String URI,
                                org.eclipse.persistence.internal.oxm.schema.model.Schema schema)
Attempt to resolve the given URI to a prefix.  | 
 java.lang.String | 
getPrefixForNamespace(org.eclipse.persistence.internal.oxm.schema.model.Schema schema,
                      java.lang.String URI)
 | 
 javax.xml.namespace.QName | 
getSchemaTypeFor(JavaClass javaClass)
Return the schema type (as QName) based on a given JavaClass.  | 
 java.util.HashMap<java.lang.String,SchemaTypeInfo> | 
getSchemaTypeInfo()
Return the Map of SchemaTypeInfo instances.  | 
 java.lang.String | 
getSchemaTypeNameForClassName(java.lang.String className)
 | 
 Property | 
getXmlValueFieldForSimpleContent(TypeInfo info)
 | 
 boolean | 
isCollectionType(Property field)
Indicates if a given Property is a collection type.  | 
 void | 
populateSchemaTypes()
 | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public SchemaGenerator(Helper helper)
| Method Detail | 
|---|
public org.eclipse.persistence.internal.oxm.schema.model.Schema generateSchema(java.util.ArrayList<JavaClass> typeInfoClasses,
                                                                               java.util.HashMap<java.lang.String,TypeInfo> typeInfo,
                                                                               java.util.HashMap<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes,
                                                                               java.util.HashMap<java.lang.String,PackageInfo> packageToPackageInfoMappings,
                                                                               java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalGlobalElements,
                                                                               java.util.Map<java.lang.String,java.lang.Class> arrayClassesToGeneratedClasses,
                                                                               SchemaOutputResolver outputResolver)
public org.eclipse.persistence.internal.oxm.schema.model.Schema generateSchema(java.util.ArrayList<JavaClass> typeInfoClasses,
                                                                               java.util.HashMap<java.lang.String,TypeInfo> typeInfo,
                                                                               java.util.HashMap<java.lang.String,javax.xml.namespace.QName> userDefinedSchemaTypes,
                                                                               java.util.HashMap<java.lang.String,PackageInfo> packageToPackageInfoMappings,
                                                                               java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalGlobalElements,
                                                                               java.util.Map<java.lang.String,java.lang.Class> arrayClassesToGeneratedClasses)
public void addSchemaComponents(JavaClass myClass)
public void addToSchemaType(TypeInfo ownerTypeInfo,
                            java.util.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 javax.xml.namespace.QName getSchemaTypeFor(JavaClass javaClass)
javaClass - 
public void populateSchemaTypes()
public java.lang.String getSchemaTypeNameForClassName(java.lang.String className)
public java.util.ArrayList<java.lang.String> getEnumerationFacetsFor(EnumTypeInfo info)
public Property getXmlValueFieldForSimpleContent(TypeInfo info)
public boolean isCollectionType(Property field)
field - 
public java.util.Collection<org.eclipse.persistence.internal.oxm.schema.model.Schema> getAllSchemas()
public NamespaceInfo getNamespaceInfoForNamespace(java.lang.String namespace)
public java.lang.String getPrefixForNamespace(org.eclipse.persistence.internal.oxm.schema.model.Schema schema,
                                              java.lang.String URI)
public java.lang.String getOrGeneratePrefixForNamespace(java.lang.String URI,
                                                        org.eclipse.persistence.internal.oxm.schema.model.Schema schema)
URI - schema - 
public void addGlobalElements(java.util.HashMap<javax.xml.namespace.QName,ElementDeclaration> additionalElements)
public java.util.HashMap<java.lang.String,SchemaTypeInfo> getSchemaTypeInfo()
protected boolean areEquals(JavaClass src,
                            java.lang.String tgtCanonicalName)
src - tgt - 
protected boolean areEquals(JavaClass src,
                            java.lang.Class tgt)
src - tgt - 
protected org.eclipse.persistence.jaxb.compiler.SchemaGenerator.AddToSchemaResult buildSchemaComponentsForXPath(org.eclipse.persistence.internal.oxm.XPathFragment frag,
                                                                                                                org.eclipse.persistence.jaxb.compiler.SchemaGenerator.AddToSchemaResult xpr,
                                                                                                                boolean isChoice,
                                                                                                                Property next)
frag - xpr - isAny - isChoice - 
protected org.eclipse.persistence.internal.oxm.schema.model.Element elementExistsInParticle(java.lang.String elementName,
                                                                                            java.lang.String refString,
                                                                                            org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
elementName - the non-null element name to look forrefString - if the element is a ref, this will be the prefix qualified element nameparticle - the sequence/choice/all to search for an existing element
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 prop)
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,
                                                                                     Property prop,
                                                                                     boolean shouldSetType)
frag - XPathFragment which wil lbe used to create the global elementworkingSchema - current schemafragSchema - frag's schemaisChoice - indicates if we need to construct a choiceisUnbounded - maxOccurs setting for choicenext - property which owns the xml-pathshouldSetType - if this is the last fragment in the xml-path and not an 'any', we should set the type
public org.eclipse.persistence.internal.oxm.schema.model.Element createRefElement(java.lang.String elementRefName,
                                                                                  org.eclipse.persistence.internal.oxm.schema.model.TypeDefParticle particle)
elementRefName - particle - 
public org.eclipse.persistence.internal.oxm.schema.model.Attribute createRefAttribute(java.lang.String attributeRefName,
                                                                                      org.eclipse.persistence.internal.oxm.schema.model.ComplexType owningComplexType)
attributeRefName - owningComplexType - 
  | 
EclipseLink 2.3.2, build 'v20111125-r10461' API Reference | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||