com.sun.msv.reader.trex
Class NameClassWithChildState

java.lang.Object
  extended by com.sun.msv.reader.State
      extended by com.sun.msv.reader.SimpleState
          extended by com.sun.msv.reader.trex.NameClassState
              extended by com.sun.msv.reader.trex.NameClassWithChildState
All Implemented Interfaces:
ContentHandler
Direct Known Subclasses:
NameClassChoiceState, NameClassDifferenceState, NameClassNotState, NGNameState

public abstract class NameClassWithChildState
extends NameClassState

parses name class that has child name classes

Author:
Kohsuke KAWAGUCHI

Field Summary
protected  boolean allowNullChild
          if this flag is true, then it is OK not to have any children.
protected  NameClass nameClass
          name class object that is being created.
 
Fields inherited from class com.sun.msv.reader.State
baseURI, location, parentState, reader, startTag
 
Constructor Summary
NameClassWithChildState()
           
 
Method Summary
protected  NameClass annealNameClass(NameClass nameClass)
          performs final wrap-up and returns a fully created NameClass object that represents this element.
protected abstract  NameClass castNameClass(NameClass halfCastedNameClass, NameClass newChildNameClass)
          combines half-made name class and newly found child name class into the name class.
protected  State createChildState(StartTagInfo tag)
          creates appropriate child state object for this element
protected  NameClass makeNameClass()
          This method is called from endElement method.
 void onEndChild(NameClass childNameClass)
          receives a Pattern object that is contained in this element.
 
Methods inherited from class com.sun.msv.reader.trex.NameClassState
endSelf, getPropagatedNamespace
 
Methods inherited from class com.sun.msv.reader.SimpleState
endDocument, endElement, isGrammarElement, startElement
 
Methods inherited from class com.sun.msv.reader.State
_assert, callInterceptExpression, characters, endPrefixMapping, getBaseURI, getLocation, getParentState, getStartTag, ignorableWhitespace, init, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, startSelf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nameClass

protected NameClass nameClass
name class object that is being created. See castNameClass(NameClass, NameClass) and annealNameClass(NameClass) methods for how a pattern will be created.


allowNullChild

protected boolean allowNullChild
if this flag is true, then it is OK not to have any children.

Constructor Detail

NameClassWithChildState

public NameClassWithChildState()
Method Detail

onEndChild

public final void onEndChild(NameClass childNameClass)
receives a Pattern object that is contained in this element.


makeNameClass

protected final NameClass makeNameClass()
Description copied from class: NameClassState
This method is called from endElement method. Implementation has to provide NameClass object that represents the content of this element.

Specified by:
makeNameClass in class NameClassState

createChildState

protected State createChildState(StartTagInfo tag)
Description copied from class: SimpleState
creates appropriate child state object for this element

Specified by:
createChildState in class SimpleState

castNameClass

protected abstract NameClass castNameClass(NameClass halfCastedNameClass,
                                           NameClass newChildNameClass)
combines half-made name class and newly found child name class into the name class.

Say this container has three child name class n1,n2, and n3. Then, the name class of this container will be made by the following method invocations.

   annealNameClass( castNameClass( castNameClass( castNameClass(null,p1), p2), p3 ) )
 


annealNameClass

protected NameClass annealNameClass(NameClass nameClass)
performs final wrap-up and returns a fully created NameClass object that represents this element.



MSV