org.apache.ws.jaxme.generator.sg.impl.ccsg

Class GroupHandlerSG

Implemented Interfaces:
HandlerSG
Known Direct Subclasses:
AllHandlerSG, ChoiceHandlerSG, SequenceHandlerSG

public abstract class GroupHandlerSG
extends HandlerSGImpl

An instance of GroupHandlerSG is responsible for creating an instance of JMSAXGroupParser, or JMSAXElementParser.
The ComplexContentSG creates a GroupHandlerSG for any group, contained in the element.

Field Summary

protected ComplexContentSG
ccSG
protected GroupSG
group
protected GroupHandlerSG
outerHandler
protected ParticleSG
particle
protected ParticleSG[]
particles

Fields inherited from class org.apache.ws.jaxme.generator.sg.impl.ccsg.HandlerSGImpl

ctSG

Constructor Summary

GroupHandlerSG(ComplexTypeSG pType, JavaSource pJs)
Creates a new instance, which generates a handler for the complex type pTypeSG by adding methods and fields to the Java class pJs.
GroupHandlerSG(GroupHandlerSG pOuterHandler, ComplexTypeSG pType, ParticleSG pParticle, JavaSource pJs)
Creates a new instance, which generates a handler for the group pGroupSG by adding methods and fields to the Java class pJs.

Method Summary

protected abstract void
acceptParticle(JavaMethod pJm, int pNum)
void
generate()
Invokes the various "newFooMethod" methods.
protected abstract DirectAccessible
getEndElementState()
protected GroupHandlerSG
getGroupHandlerSG(GroupSG pGroup)
protected abstract int
getState(int pParticleNum)
protected JavaField
getStateField()
protected void
handleStartElementStates(Object pUnmarshallerHandler, JavaMethod pJm, int pFrom, int pTo)
protected void
handleStartOfChildElement(Object pUnmarshallerHandler, JavaMethod pJm, ParticleSG pParticle)
protected boolean
isRequiredParticle(ParticleSG particleSG)
JavaMethod
newAddAttributeMethod()
Creates the handlers method JMSAXElementParser.addAttribute(String,String,String).
protected JavaMethod
newAddTextMethod()
JavaMethod
newEndElementMethod()
Creates the handlers method JMSAXGroupParser.endElement(String,String,String,Object).
JavaMethod
newIsAtomicMethod()
Creates the handlers method JMSAXElementParser.isAtomic().
JavaMethod
newIsEmptyMethod()
Creates the handlers method JMSAXElementParser.isEmpty().
JavaMethod
newIsFinishedMethod()
Creates the handlers method JMSAXGroupParser.isFinished().
protected JavaMethod
newIsMixedMethod()
protected abstract JavaField
newStateField()

Methods inherited from class org.apache.ws.jaxme.generator.sg.impl.ccsg.HandlerSGImpl

createSimpleTypeConversion, generate, getJavaSource, getParamAttrs, getParamLocalName, getParamNamespaceURI, getParamQName, getParamResult, newAddAttributeMethod, newEndElementMethod, newIsAtomicMethod, newIsEmptyMethod, newIsFinishedMethod, newStartElementMethod, setParamAttrs, setParamLocalName, setParamNamespaceURI, setParamQName, setParamResult

Field Details

ccSG

protected final ComplexContentSG ccSG

group

protected final GroupSG group

outerHandler

protected final GroupHandlerSG outerHandler

particle

protected final ParticleSG particle

particles

protected final ParticleSG[] particles

Constructor Details

GroupHandlerSG

protected GroupHandlerSG(ComplexTypeSG pType,
                         JavaSource pJs)
            throws SAXException
Creates a new instance, which generates a handler for the complex type pTypeSG by adding methods and fields to the Java class pJs.

GroupHandlerSG

protected GroupHandlerSG(GroupHandlerSG pOuterHandler,
                         ComplexTypeSG pType,
                         ParticleSG pParticle,
                         JavaSource pJs)
            throws SAXException
Creates a new instance, which generates a handler for the group pGroupSG by adding methods and fields to the Java class pJs.

Method Details

acceptParticle

protected abstract void acceptParticle(JavaMethod pJm,
                                       int pNum)
            throws SAXException

generate

public void generate()
            throws SAXException
Invokes the various "newFooMethod" methods.
Specified by:
generate in interface HandlerSG
Overrides:
generate in interface HandlerSGImpl

getEndElementState

protected abstract DirectAccessible getEndElementState()
            throws SAXException

getGroupHandlerSG

protected GroupHandlerSG getGroupHandlerSG(GroupSG pGroup)

getState

protected abstract int getState(int pParticleNum)

getStateField

protected JavaField getStateField()
            throws SAXException

handleStartElementStates

protected void handleStartElementStates(Object pUnmarshallerHandler,
                                        JavaMethod pJm,
                                        int pFrom,
                                        int pTo)
            throws SAXException

handleStartOfChildElement

protected void handleStartOfChildElement(Object pUnmarshallerHandler,
                                         JavaMethod pJm,
                                         ParticleSG pParticle)

isRequiredParticle

protected boolean isRequiredParticle(ParticleSG particleSG)
            throws SAXException

newAddAttributeMethod

public JavaMethod newAddAttributeMethod()
            throws SAXException
Specified by:
newAddAttributeMethod in interface HandlerSG
Overrides:
newAddAttributeMethod in interface HandlerSGImpl

newAddTextMethod

protected JavaMethod newAddTextMethod()
            throws SAXException

newEndElementMethod

public JavaMethod newEndElementMethod()
            throws SAXException
Specified by:
newEndElementMethod in interface HandlerSG
Overrides:
newEndElementMethod in interface HandlerSGImpl

newIsAtomicMethod

public JavaMethod newIsAtomicMethod()
            throws SAXException
Creates the handlers method JMSAXElementParser.isAtomic().
Specified by:
newIsAtomicMethod in interface HandlerSG
Overrides:
newIsAtomicMethod in interface HandlerSGImpl

newIsEmptyMethod

public JavaMethod newIsEmptyMethod()
            throws SAXException
Creates the handlers method JMSAXElementParser.isEmpty().
Specified by:
newIsEmptyMethod in interface HandlerSG
Overrides:
newIsEmptyMethod in interface HandlerSGImpl

newIsFinishedMethod

public JavaMethod newIsFinishedMethod()
            throws SAXException
Creates the handlers method JMSAXGroupParser.isFinished().
Specified by:
newIsFinishedMethod in interface HandlerSG
Overrides:
newIsFinishedMethod in interface HandlerSGImpl

newIsMixedMethod

protected JavaMethod newIsMixedMethod()
            throws SAXException

newStateField

protected abstract JavaField newStateField()
            throws SAXException