org.apache.ws.jaxme.generator.sg

Interface TypeSG

All Superinterfaces:
SGItem
Known Implementing Classes:
TypeSGImpl

public interface TypeSG
extends SGItem

Interface of a source generator for types; applies both to simple and complex types.
Author:
Jochen Wiedmann

Method Summary

void
generate()
Generates the types sources.
void
generate(JavaSource pSource)
Generates the types sources as an inner class of the given.
ComplexTypeSG
getComplexTypeSG()
If the type is complex: Returns an instance of ComplexTypeSG generating the type.
TypeSG
getExtendedType()
If the type is an extension: Returns the extended type.
XsQName
getName()
If the type is global: Returns the types name.
Object
getProperty(String pName)
A property allows to store custom data related to the type.
TypeSG
getRestrictedType()
If the type is a restriction: Returns the restricted type.
JavaQName
getRuntimeType()
Returns the types runtime type.
XsSchemaHeader
getSchemaHeader()
Returns information on the types syntactical context.
SimpleTypeSG
getSimpleTypeSG()
If the type is simple: Returns an instance of SimpleTypeSG for generating the type.
JavaField
getXMLField(JavaSource pSource, String pFieldName, String pDefaultValue)
Generates a Java field for an instance of this type.
JavaMethod
getXMLGetMethod(JavaSource pSource, String pFieldName, String pMethodName)
Generates a get method returning an instance of this type.
JavaMethod
getXMLIsSetMethod(JavaSource pSource, String pFieldName, String pMethodName)
Generates an "isSet" method returning whether the field is set.
JavaMethod
getXMLSetMethod(JavaSource pSource, String pFieldName, String pParamName, String pMethodName, boolean pSetIsSet)
Generates a set method returning an instance of this type.
boolean
isComplex()
Returns whether the type is complex.
boolean
isExtension()
Returns whether the type is an extension of another type.
boolean
isGlobalClass()
Returns whether this type is generated with a global class.
boolean
isGlobalType()
Returns whether this is a global type.
boolean
isRestriction()
Returns whether the type is a restriction of another type.
Object
newComplexTypeSG()
If the type is complex: Creates an instance of ComplexTypeSGChain generating the type.
Object
newSimpleTypeSG()
If the type is simple: Creates a new instance of SimpleTypeSGChain generating the type.
void
setProperty(String pName, Object pValue)
A property allows to store custom data related to the type.

Methods inherited from interface org.apache.ws.jaxme.generator.sg.SGItem

getFactory, getLocator, getSchema, init

Method Details

generate

public void generate()
            throws SAXException
Generates the types sources.

generate

public void generate(JavaSource pSource)
            throws SAXException
Generates the types sources as an inner class of the given.

getComplexTypeSG

public ComplexTypeSG getComplexTypeSG()
If the type is complex: Returns an instance of ComplexTypeSG generating the type.

getExtendedType

public TypeSG getExtendedType()
If the type is an extension: Returns the extended type.

getName

public XsQName getName()
If the type is global: Returns the types name.

getProperty

public Object getProperty(String pName)
A property allows to store custom data related to the type. Properties are used by external source generators. For example, the JDBC source generator will use this to store the complex types table name here.

getRestrictedType

public TypeSG getRestrictedType()
If the type is a restriction: Returns the restricted type.

getRuntimeType

public JavaQName getRuntimeType()
            throws SAXException
Returns the types runtime type.

getSchemaHeader

public XsSchemaHeader getSchemaHeader()
Returns information on the types syntactical context.

getSimpleTypeSG

public SimpleTypeSG getSimpleTypeSG()
If the type is simple: Returns an instance of SimpleTypeSG for generating the type.

getXMLField

public JavaField getXMLField(JavaSource pSource,
                             String pFieldName,
                             String pDefaultValue)
            throws SAXException
Generates a Java field for an instance of this type.

getXMLGetMethod

public JavaMethod getXMLGetMethod(JavaSource pSource,
                                  String pFieldName,
                                  String pMethodName)
            throws SAXException
Generates a get method returning an instance of this type.

getXMLIsSetMethod

public JavaMethod getXMLIsSetMethod(JavaSource pSource,
                                    String pFieldName,
                                    String pMethodName)
            throws SAXException
Generates an "isSet" method returning whether the field is set.

getXMLSetMethod

public JavaMethod getXMLSetMethod(JavaSource pSource,
                                  String pFieldName,
                                  String pParamName,
                                  String pMethodName,
                                  boolean pSetIsSet)
            throws SAXException
Generates a set method returning an instance of this type.

isComplex

public boolean isComplex()

isExtension

public boolean isExtension()
Returns whether the type is an extension of another type.

isGlobalClass

public boolean isGlobalClass()
Returns whether this type is generated with a global class.

isGlobalType

public boolean isGlobalType()
Returns whether this is a global type.

isRestriction

public boolean isRestriction()
Returns whether the type is a restriction of another type.

newComplexTypeSG

public Object newComplexTypeSG()
            throws SAXException
If the type is complex: Creates an instance of ComplexTypeSGChain generating the type.

Implementation note: The type ComplexTypeSGChain must not be exposed in the interface, because the interface class is used to generate this type. In other words, this interface must be compilable without the ComplexTypeSGChain interface.


newSimpleTypeSG

public Object newSimpleTypeSG()
            throws SAXException
If the type is simple: Creates a new instance of SimpleTypeSGChain generating the type.

Implementation note: The type SimpleTypeSGChain must not be exposed in the interface, because the interface class is used to generate this type. In other words, this interface must be compilable without the SimpleTypeSGChain interface.


setProperty

public void setProperty(String pName,
                        Object pValue)
A property allows to store custom data related to the type. Properties are used by external source generators. For example, the JDBC source generator will use this to store the complex types table name here.