Package com.sun.tools.xjc.model
Class Model
java.lang.Object
com.sun.tools.xjc.model.Model
- All Implemented Interfaces:
CCustomizable
,TypeInfoSet<NType,
NClass, Void, Void>
public final class Model
extends Object
implements TypeInfoSet<NType,NClass,Void,Void>, CCustomizable
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 schema parsing. The back-end then works against this model
to turn this into a series of Java source code.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
Modifier and TypeFieldDescriptionfinal JCodeModel
This model uses this code model exclusively.final SymbolSpace
Default ID/IDREF symbol space.final Options
Command-line options used for building this model.If non-null, all the generated classes should eventually derive from this class.If non-null, all the generated interfaces should eventually derive from this interface.final XSSchemaSet
If this model was built from XML Schema, this field stores the root object of the parse schema model.boolean
True to generate serializable classes.serial version UID to be generated.Specifies the code generation strategy. -
Constructor Summary
ConstructorDescriptionModel
(Options opts, JCodeModel cm, NameConverter nc, ClassNameAllocator allocator, XSSchemaSet schemaComponent) -
Method Summary
Modifier and TypeMethodDescriptionMap<NType,
? extends CArrayInfo> arrays()
No array mapping generation for XJC.beans()
Map<NType,
? extends CBuiltinLeafInfo> builtins()
Represents the "top-level binding".void
enums()
generateCode
(Options opt, ErrorReceiver receiver) Fully-generate the source code into the given model.Iterable<? extends CElementInfo>
getAttributeFormDefault
(String nsUri) Gets the global customizations.getElementFormDefault
(String nsUri) getElementInfo
(NClass scope, QName name) getElementMappings
(NClass scope) Deprecated.No line number available for the "root" component.Gets the name converter that shall be used to parse XML names into Java names.getPackage
(JPackage pkg) Deprecated.Always return null.getSymbolSpace
(String name) getTypeInfo
(NType type) getTypeInfo
(Ref<NType, NClass> ref) Not implemented in the compile-time model.boolean
void
setNameConverter
(NameConverter nameConverter) void
setPackageLevelAnnotations
(boolean packageLevelAnnotations) typeUses()
-
Field Details
-
schemaComponent
If this model was built from XML Schema, this field stores the root object of the parse schema model. Otherwise null.- Since:
- 2.1.1
-
codeModel
This model uses this code model exclusively. -
options
Command-line options used for building this model. -
serializable
public boolean serializableTrue to generate serializable classes. -
serialVersionUID
serial version UID to be generated. null if not to generate serialVersionUID field. -
rootClass
If non-null, all the generated classes should eventually derive from this class. -
rootInterface
If non-null, all the generated interfaces should eventually derive from this interface. -
strategy
Specifies the code generation strategy. Must not be null. -
defaultSymbolSpace
Default ID/IDREF symbol space. Any ID/IDREF without explicit reference to a symbol space is assumed to use this default symbol space.
-
-
Constructor Details
-
Model
public Model(Options opts, JCodeModel cm, NameConverter nc, ClassNameAllocator allocator, XSSchemaSet schemaComponent) - Parameters:
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.
-
-
Method Details
-
setNameConverter
-
getNameConverter
Gets the name converter that shall be used to parse XML names into Java names. -
isPackageLevelAnnotations
public boolean isPackageLevelAnnotations() -
setPackageLevelAnnotations
public void setPackageLevelAnnotations(boolean packageLevelAnnotations) -
getSymbolSpace
-
generateCode
Fully-generate the source code into the given model.- Returns:
- null if there was any errors. Otherwise it returns a valid
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.
-
createTopLevelBindings
Represents the "top-level binding".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.
-
getAnyTypeInfo
- Specified by:
getAnyTypeInfo
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
getTypeInfo
- Specified by:
getTypeInfo
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
beans
-
enums
-
typeUses
-
arrays
No array mapping generation for XJC. -
builtins
-
getAllElements
- Specified by:
getAllElements
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
getSchemaComponent
Deprecated.Always return null. Perhaps you are interested inschemaComponent
?Description copied from interface:CCustomizable
If this model object is built from XML Schema, this property returns a schema component from which the model is built.- Specified by:
getSchemaComponent
in interfaceCCustomizable
- Returns:
- null if the model is built from sources other than XML Schema (such as DTD.)
-
getLocator
Deprecated.No line number available for the "root" component.Description copied from interface:CCustomizable
Gets the source location in the schema from which this model component is created.- Specified by:
getLocator
in interfaceCCustomizable
- Returns:
- never null.
-
getCustomizations
Gets the global customizations.- Specified by:
getCustomizations
in interfaceCCustomizable
- Returns:
- can be an empty list but never be null. The returned list is read-only. Do not modify.
- See Also:
-
getXmlNs
Not implemented in the compile-time model. -
getSchemaLocations
- Specified by:
getSchemaLocations
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
getElementFormDefault
- Specified by:
getElementFormDefault
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
getAttributeFormDefault
- Specified by:
getAttributeFormDefault
in interfaceTypeInfoSet<NType,
NClass, Void, Void>
-
dump
-
getPackage
-