org.apache.ws.jaxme.generator.sg

Interface ComplexTypeSG

public interface ComplexTypeSG

Interface of a source generator for complex types.

Author: Jochen Wiedmann

Method Summary
voidaddAttributeSG(AttributeSG pAttribute)

Adds the given {@link AttributeSG} to the list of attributes and invokes the method {@link org.apache.ws.jaxme.generator.sg.SGItem#init()} on it.

AttributeSG[]getAttributes()

Returns the data types array of attributes.

ContextgetClassContext()

Returns the datatypes runtime type, which is the binding interface.

ComplexContentSGgetComplexContentSG()

If the data type has complex content: Returns an instance of {@link ComplexContentSG}.

LocatorgetLocator()

Returns the types {@link Locator}.

SimpleContentSGgetSimpleContentSG()

If the data type has simple content: Returns an instance of {@link SimpleContentSG}.

TypeSGgetTypeSG()

Returns the {@link TypeSG} that created this instance.

JavaSourcegetXMLHandler(JavaQName pQName)

Generates the types XML handler as a standalone class.

JavaSourcegetXMLHandler(JavaSource pSource)

Generates the types XML handler as an inner class of the given.

JavaSourcegetXMLImplementation()

Generates the types implementation as a standalone class.

JavaSourcegetXMLImplementation(JavaSource pSource)

Generates the types implementation as an inner class of the given.

JavaSourcegetXMLInterface()

Generates the types interface as a standalone class.

JavaSourcegetXMLInterface(JavaSource pSource)

Generates the types interface as an inner class of the given.

JavaSourcegetXMLSerializer()

Generates the types XML serializer as a standalone class.

JavaSourcegetXMLSerializer(JavaSource pSource)

Generates the types XML serializer as an inner class of the given.

booleanhasAttributes()

Returns whether the data type has attributes.

booleanhasSimpleContent()

Returns whether the data type has simple content.

voidinit()

Initializes the instance.

ObjectnewAttributeSG(XSAttribute pAttribute)

Creates a new instance of {@link org.apache.ws.jaxme.generator.sg.AttributeSGChain} generating the given attribute.

ObjectnewAttributeSG(XSWildcard pWildcard)

Creates a new instance of {@link org.apache.ws.jaxme.generator.sg.AttributeSGChain} generating the given wildcard attributes.

ObjectnewComplexContentTypeSG()

If the complex type has complex content: Creates an instance of {@link org.apache.ws.jaxme.generator.sg.ComplexContentSGChain} generating the given complex type.

Implementation note: The type {@link org.apache.ws.jaxme.generator.sg.ComplexContentSGChain} must not be exposed in the interface, because the interface class is used to generate this type.

ObjectnewSimpleContentTypeSG()

If the complex type has simple content: Creates an instance of {@link org.apache.ws.jaxme.generator.sg.SimpleContentSGChain} generating the type.

Implementation note: The type {@link org.apache.ws.jaxme.generator.sg.SimpleContentSGChain} must not be exposed in the interface, because the interface class is used to generate this type.

Method Detail

addAttributeSG

public void addAttributeSG(AttributeSG pAttribute)

Adds the given {@link AttributeSG} to the list of attributes and invokes the method {@link org.apache.ws.jaxme.generator.sg.SGItem#init()} on it.

getAttributes

public AttributeSG[] getAttributes()

Returns the data types array of attributes.

getClassContext

public Context getClassContext()

Returns the datatypes runtime type, which is the binding interface.

getComplexContentSG

public ComplexContentSG getComplexContentSG()

If the data type has complex content: Returns an instance of {@link ComplexContentSG}. Uses {@link #newComplexContentTypeSG()} internally.

getLocator

public Locator getLocator()

Returns the types {@link Locator}.

getSimpleContentSG

public SimpleContentSG getSimpleContentSG()

If the data type has simple content: Returns an instance of {@link SimpleContentSG}. Uses {@link #newSimpleContentTypeSG()} internally.

getTypeSG

public TypeSG getTypeSG()

Returns the {@link TypeSG} that created this instance.

getXMLHandler

public JavaSource getXMLHandler(JavaQName pQName)

Generates the types XML handler as a standalone class. This is used for global types.

getXMLHandler

public JavaSource getXMLHandler(JavaSource pSource)

Generates the types XML handler as an inner class of the given. This is used for local types.

getXMLImplementation

public JavaSource getXMLImplementation()

Generates the types implementation as a standalone class. This is used for global types.

getXMLImplementation

public JavaSource getXMLImplementation(JavaSource pSource)

Generates the types implementation as an inner class of the given.

getXMLInterface

public JavaSource getXMLInterface()

Generates the types interface as a standalone class. This is used for global types.

getXMLInterface

public JavaSource getXMLInterface(JavaSource pSource)

Generates the types interface as an inner class of the given.

getXMLSerializer

public JavaSource getXMLSerializer()

Generates the types XML serializer as a standalone class. This is used for global types.

getXMLSerializer

public JavaSource getXMLSerializer(JavaSource pSource)

Generates the types XML serializer as an inner class of the given. This is used for local types.

hasAttributes

public boolean hasAttributes()

Returns whether the data type has attributes.

hasSimpleContent

public boolean hasSimpleContent()

Returns whether the data type has simple content.

init

public void init()

Initializes the instance.

newAttributeSG

public Object newAttributeSG(XSAttribute pAttribute)

Creates a new instance of {@link org.apache.ws.jaxme.generator.sg.AttributeSGChain} generating the given attribute.

newAttributeSG

public Object newAttributeSG(XSWildcard pWildcard)

Creates a new instance of {@link org.apache.ws.jaxme.generator.sg.AttributeSGChain} generating the given wildcard attributes.

newComplexContentTypeSG

public Object newComplexContentTypeSG()

If the complex type has complex content: Creates an instance of {@link org.apache.ws.jaxme.generator.sg.ComplexContentSGChain} generating the given complex type.

Implementation note: The type {@link org.apache.ws.jaxme.generator.sg.ComplexContentSGChain} 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 {@link org.apache.ws.jaxme.generator.sg.ComplexContentSGChain} interface.

newSimpleContentTypeSG

public Object newSimpleContentTypeSG()

If the complex type has simple content: Creates an instance of {@link org.apache.ws.jaxme.generator.sg.SimpleContentSGChain} generating the type.

Implementation note: The type {@link org.apache.ws.jaxme.generator.sg.SimpleContentSGChain} 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 {@link org.apache.ws.jaxme.generator.sg.SimpleContentSGChain} interface.