|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.tools.xjc.model.Model
public final class Model
Root of the object model that represents the code that needs to be generated.
A Model
is a schema language neutral representation of the
result of a scehma parsing. The back-end then works against this model
to turn this into a series of Java source code.
Field Summary | |
---|---|
(package private) ClassNameAllocatorWrapper |
allocator
This allocator has the final say on deciding the class name. |
com.sun.codemodel.JCodeModel |
codeModel
This model uses this code model exclusively. |
(package private) CCustomizations |
customizations
Single linked list that connects all CCustomizations that belong to this model. |
SymbolSpace |
defaultSymbolSpace
Default ID/IDREF symbol space. |
(package private) static org.xml.sax.Locator |
EMPTY_LOCATOR
|
Options |
options
Command-line options used for building this model. |
com.sun.codemodel.JClass |
rootClass
If non-null, all the generated classes should eventually derive from this class. |
com.sun.codemodel.JClass |
rootInterface
If non-null, all the generated interfaces should eventually derive from this interface. |
boolean |
serializable
True to generate serializable classes. |
java.lang.Long |
serialVersionUID
serial version UID to be generated. |
ImplStructureStrategy |
strategy
Specifies the code generation strategy. |
Constructor Summary | |
---|---|
Model(Options opts,
com.sun.codemodel.JCodeModel cm,
com.sun.xml.bind.api.impl.NameConverter nc,
ClassNameAllocator allocator)
|
Method Summary | |
---|---|
(package private) void |
add(CClassInfo ci)
|
(package private) void |
add(CElementInfo ei)
|
(package private) void |
add(CEnumLeafInfo e)
|
java.util.Map<NType,? extends CArrayInfo> |
arrays()
No array mapping generation for XJC. |
java.util.Map<NClass,CClassInfo> |
beans()
|
java.util.Map<NType,? extends CBuiltinLeafInfo> |
builtins()
|
java.util.Map<javax.xml.namespace.QName,CClassInfo> |
createTopLevelBindings()
Represents the "top-level binding". |
void |
dump(javax.xml.transform.Result out)
|
java.util.Map<NClass,CEnumLeafInfo> |
enums()
|
Outline |
generateCode(Options opt,
ErrorReceiver receiver)
Fully-generate the source code into the given model. |
java.lang.Iterable<? extends CElementInfo> |
getAllElements()
|
CBuiltinLeafInfo |
getAnyTypeInfo()
|
javax.xml.bind.annotation.XmlNsForm |
getAttributeFormDefault(java.lang.String nsUri)
|
CClassInfo |
getClassInfo(NClass t)
|
javax.xml.bind.annotation.XmlNsForm |
getElementFormDefault(java.lang.String nsUri)
|
CElementInfo |
getElementInfo(NClass scope,
javax.xml.namespace.QName name)
|
java.util.Map<javax.xml.namespace.QName,CElementInfo> |
getElementMappings(NClass scope)
|
com.sun.xml.bind.api.impl.NameConverter |
getNameConverter()
Gets the name converter that shall be used to parse XML names into Java names. |
com.sun.xml.bind.v2.model.nav.Navigator<NType,NClass,java.lang.Void,java.lang.Void> |
getNavigator()
|
CClassInfoParent.Package |
getPackage(com.sun.codemodel.JPackage pkg)
|
SymbolSpace |
getSymbolSpace(java.lang.String name)
|
CNonElement |
getTypeInfo(NType type)
|
CNonElement |
getTypeInfo(com.sun.xml.bind.v2.model.core.Ref<NType,NClass> ref)
|
java.util.Map<java.lang.String,java.lang.String> |
getXmlNs(java.lang.String namespaceUri)
Not implemented in the compile-time model. |
boolean |
isPackageLevelAnnotations()
|
void |
setNameConverter(com.sun.xml.bind.api.impl.NameConverter nameConverter)
|
void |
setPackageLevelAnnotations(boolean packageLevelAnnotations)
|
java.util.Map<javax.xml.namespace.QName,TypeUse> |
typeUses()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
CCustomizations customizations
CCustomizations
that belong to this model.
CCustomizations.next
public final com.sun.codemodel.JCodeModel codeModel
public final Options options
public boolean serializable
public java.lang.Long serialVersionUID
public com.sun.codemodel.JClass rootClass
public com.sun.codemodel.JClass rootInterface
public ImplStructureStrategy strategy
final ClassNameAllocatorWrapper allocator
Model classes are responsible for using the allocator. This allocator interaction should be transparent to the user/builder of the model.
public final SymbolSpace defaultSymbolSpace
static final org.xml.sax.Locator EMPTY_LOCATOR
Constructor Detail |
---|
public Model(Options opts, com.sun.codemodel.JCodeModel cm, com.sun.xml.bind.api.impl.NameConverter nc, ClassNameAllocator allocator)
nc
- Usually this should be set in the constructor, but we do allow this parameter
to be initially null, and then set later.Method Detail |
---|
public void setNameConverter(com.sun.xml.bind.api.impl.NameConverter nameConverter)
public final com.sun.xml.bind.api.impl.NameConverter getNameConverter()
public boolean isPackageLevelAnnotations()
public void setPackageLevelAnnotations(boolean packageLevelAnnotations)
public SymbolSpace getSymbolSpace(java.lang.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 java.util.Map<javax.xml.namespace.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 appendicies 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 com.sun.xml.bind.v2.model.nav.Navigator<NType,NClass,java.lang.Void,java.lang.Void> getNavigator()
getNavigator
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public CNonElement getTypeInfo(NType type)
getTypeInfo
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public CBuiltinLeafInfo getAnyTypeInfo()
getAnyTypeInfo
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public CNonElement getTypeInfo(com.sun.xml.bind.v2.model.core.Ref<NType,NClass> ref)
getTypeInfo
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<NClass,CClassInfo> beans()
beans
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<NClass,CEnumLeafInfo> enums()
enums
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<javax.xml.namespace.QName,TypeUse> typeUses()
public java.util.Map<NType,? extends CArrayInfo> arrays()
arrays
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<NType,? extends CBuiltinLeafInfo> builtins()
builtins
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public CClassInfo getClassInfo(NClass t)
getClassInfo
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public CElementInfo getElementInfo(NClass scope, javax.xml.namespace.QName name)
getElementInfo
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<javax.xml.namespace.QName,CElementInfo> getElementMappings(NClass scope)
getElementMappings
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.lang.Iterable<? extends CElementInfo> getAllElements()
getAllElements
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public java.util.Map<java.lang.String,java.lang.String> getXmlNs(java.lang.String namespaceUri)
getXmlNs
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public javax.xml.bind.annotation.XmlNsForm getElementFormDefault(java.lang.String nsUri)
getElementFormDefault
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public javax.xml.bind.annotation.XmlNsForm getAttributeFormDefault(java.lang.String nsUri)
getAttributeFormDefault
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
public void dump(javax.xml.transform.Result out)
dump
in interface com.sun.xml.bind.v2.model.core.TypeInfoSet<NType,NClass,java.lang.Void,java.lang.Void>
void add(CEnumLeafInfo e)
void add(CClassInfo ci)
void add(CElementInfo ei)
public CClassInfoParent.Package getPackage(com.sun.codemodel.JPackage pkg)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |