Package com.sun.msv.reader
Class ExpressionWithChildState
- java.lang.Object
-
- com.sun.msv.reader.State
-
- com.sun.msv.reader.SimpleState
-
- com.sun.msv.reader.ExpressionState
-
- com.sun.msv.reader.ExpressionWithChildState
-
- All Implemented Interfaces:
ExpressionOwner
,ContentHandler
- Direct Known Subclasses:
AttributeState
,ChoiceState
,ComplexContentState
,ConcurState
,ElementDeclState
,InterleaveState
,MixedState
,RedefinableDeclState
,SequenceState
,SimpleContentState
public abstract class ExpressionWithChildState extends ExpressionState implements ExpressionOwner
State that parses Expression which contains other expressions.- Author:
- Kohsuke KAWAGUCHI
-
-
Field Summary
Fields Modifier and Type Field Description protected Expression
exp
expression object that is being created.
-
Constructor Summary
Constructors Constructor Description ExpressionWithChildState()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Expression
annealExpression(Expression exp)
performs final wrap-up and returns a fully created Expression object that represents this element.protected abstract Expression
castExpression(Expression halfCastedExpression, Expression newChildExpression)
combines half-made expression and newly found child expression into the expression.protected State
createChildState(StartTagInfo tag)
creates appropriate child state object for this elementprotected Expression
defaultExpression()
computes default expression.protected Expression
initialExpression()
sets initial patternprotected Expression
makeExpression()
This method is called from endElement method.void
onEndChild(Expression childExpression)
receives a Pattern object that is contained in this element.protected void
startSelf()
performs a task that should be done before reading any child elements.-
Methods inherited from class com.sun.msv.reader.ExpressionState
endSelf
-
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
-
-
-
-
Field Detail
-
exp
protected Expression exp
expression object that is being created. See#castPattern
and#annealPattern
methods for how will a pattern be created.
-
-
Method Detail
-
startSelf
protected void startSelf()
Description copied from class:State
performs a task that should be done before reading any child elements. derived-class can safely read startTag and/or parentState values.
-
initialExpression
protected Expression initialExpression()
sets initial pattern
-
defaultExpression
protected Expression defaultExpression()
computes default expression. this method is called before annealExpression when no child expression is given during parsing. return null to signal an error.
-
onEndChild
public final void onEndChild(Expression childExpression)
receives a Pattern object that is contained in this element.- Specified by:
onEndChild
in interfaceExpressionOwner
-
makeExpression
protected final Expression makeExpression()
Description copied from class:ExpressionState
This method is called from endElement method. Implementation has to provide Expression object that represents the content of this element.- Specified by:
makeExpression
in classExpressionState
-
createChildState
protected State createChildState(StartTagInfo tag)
Description copied from class:SimpleState
creates appropriate child state object for this element- Specified by:
createChildState
in classSimpleState
-
castExpression
protected abstract Expression castExpression(Expression halfCastedExpression, Expression newChildExpression)
combines half-made expression and newly found child expression into the expression.Say this container has three child expression exp1,exp2, and exp3. Then, the expression of this state will be made by the following method invocations.
annealExpression( castExpression( castExpression( castExpression(null,exp1), exp2), exp3 ) )
-
annealExpression
protected Expression annealExpression(Expression exp)
performs final wrap-up and returns a fully created Expression object that represents this element.
-
-