public abstract class NameClassWithChildState extends NameClassState implements NameClassOwner
Modifier and Type | Field and Description |
---|---|
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.
|
Constructor and Description |
---|
NameClassWithChildState() |
Modifier and Type | Method and Description |
---|---|
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.
|
endSelf, getPropagatedNamespace
endDocument, endElement, isGrammarElement, startElement
_assert, callInterceptExpression, characters, endPrefixMapping, getBaseURI, getLocation, getParentState, getStartTag, ignorableWhitespace, init, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, startSelf
protected NameClass nameClass
castNameClass(NameClass, NameClass)
and annealNameClass(NameClass)
methods
for how a pattern will be created.protected boolean allowNullChild
public final void onEndChild(NameClass childNameClass)
onEndChild
in interface NameClassOwner
protected final NameClass makeNameClass()
NameClassState
makeNameClass
in class NameClassState
protected State createChildState(StartTagInfo tag)
SimpleState
createChildState
in class SimpleState
protected abstract NameClass castNameClass(NameClass halfCastedNameClass, NameClass newChildNameClass)
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 ) )