public final class Model extends Object implements TypeInfoSet<NType,NClass,Void,Void>, CCustomizable
A Model is a schema language neutral representation of the
result of a schema parsing. The back-end then works against this model
to turn this into a series of Java source code.
| Modifier and Type | Field and Description |
|---|---|
JCodeModel |
codeModel
This model uses this code model exclusively.
|
SymbolSpace |
defaultSymbolSpace
Default ID/IDREF symbol space.
|
Options |
options
Command-line options used for building this model.
|
JClass |
rootClass
If non-null, all the generated classes should eventually derive from this class.
|
JClass |
rootInterface
If non-null, all the generated interfaces should eventually derive from this interface.
|
com.sun.xml.xsom.XSSchemaSet |
schemaComponent
If this model was built from XML Schema, this field
stores the root object of the parse schema model.
|
boolean |
serializable
True to generate serializable classes.
|
Long |
serialVersionUID
serial version UID to be generated.
|
ImplStructureStrategy |
strategy
Specifies the code generation strategy.
|
| Constructor and Description |
|---|
Model(Options opts,
JCodeModel cm,
NameConverter nc,
ClassNameAllocator allocator,
com.sun.xml.xsom.XSSchemaSet schemaComponent) |
public final com.sun.xml.xsom.XSSchemaSet schemaComponent
public final JCodeModel codeModel
public final Options options
public boolean serializable
public Long serialVersionUID
public JClass rootClass
public JClass rootInterface
public ImplStructureStrategy strategy
public final SymbolSpace defaultSymbolSpace
public Model(Options opts, JCodeModel cm, NameConverter nc, ClassNameAllocator allocator, com.sun.xml.xsom.XSSchemaSet schemaComponent)
nc - Usually this should be set in the constructor, but we do allow this parameter
to be initially null, and then set later.schemaComponent - The source schema model, if this is built from XSD.public void setNameConverter(NameConverter nameConverter)
public final NameConverter getNameConverter()
public boolean isPackageLevelAnnotations()
public void setPackageLevelAnnotations(boolean packageLevelAnnotations)
public SymbolSpace getSymbolSpace(String name)
public Outline generateCode(Options opt, ErrorReceiver receiver)
Outline object, which captures how the model objects
are mapped to the generated source code.
Add-ons can use those information to further augment the generated source code.
public final Map<QName,CClassInfo> createTopLevelBindings()
This is used to support the use of a schema inside WSDL. For XML Schema, the top-level binding is a map from global element declarations to its representation class.
For other schema languages, it should follow the appendices in WSDL (but in practice no one would use WSDL with a schema language other than XML Schema, so it doesn't really matter.)
This needs to be filled by the front-end.
public Navigator<NType,NClass,Void,Void> getNavigator()
getNavigator in interface TypeInfoSet<NType,NClass,Void,Void>public CNonElement getTypeInfo(NType type)
getTypeInfo in interface TypeInfoSet<NType,NClass,Void,Void>public CBuiltinLeafInfo getAnyTypeInfo()
getAnyTypeInfo in interface TypeInfoSet<NType,NClass,Void,Void>public CNonElement getTypeInfo(Ref<NType,NClass> ref)
getTypeInfo in interface TypeInfoSet<NType,NClass,Void,Void>public Map<NClass,CClassInfo> beans()
public Map<NClass,CEnumLeafInfo> enums()
public Map<NType,? extends CArrayInfo> arrays()
public Map<NType,? extends CBuiltinLeafInfo> builtins()
public CClassInfo getClassInfo(NClass t)
getClassInfo in interface TypeInfoSet<NType,NClass,Void,Void>public CElementInfo getElementInfo(NClass scope, QName name)
getElementInfo in interface TypeInfoSet<NType,NClass,Void,Void>public Map<QName,CElementInfo> getElementMappings(NClass scope)
getElementMappings in interface TypeInfoSet<NType,NClass,Void,Void>public Iterable<? extends CElementInfo> getAllElements()
getAllElements in interface TypeInfoSet<NType,NClass,Void,Void>public com.sun.xml.xsom.XSComponent getSchemaComponent()
schemaComponent?CCustomizablegetSchemaComponent in interface CCustomizablepublic Locator getLocator()
CCustomizablegetLocator in interface CCustomizablepublic CCustomizations getCustomizations()
getCustomizations in interface CCustomizablePlugin.getCustomizationURIs()public Map<String,String> getXmlNs(String namespaceUri)
public Map<String,String> getSchemaLocations()
getSchemaLocations in interface TypeInfoSet<NType,NClass,Void,Void>public XmlNsForm getElementFormDefault(String nsUri)
getElementFormDefault in interface TypeInfoSet<NType,NClass,Void,Void>public XmlNsForm getAttributeFormDefault(String nsUri)
getAttributeFormDefault in interface TypeInfoSet<NType,NClass,Void,Void>public void dump(Result out)
public CClassInfoParent.Package getPackage(JPackage pkg)
Copyright © 2015 Oracle Corporation. All Rights Reserved.