com.sun.msv.verifier.regexp
Class ComplexAcceptorBaseImpl
java.lang.Object
|
+--com.sun.msv.verifier.regexp.ExpressionAcceptor
|
+--com.sun.msv.verifier.regexp.ContentModelAcceptor
|
+--com.sun.msv.verifier.regexp.ComplexAcceptorBaseImpl
- All Implemented Interfaces:
- Acceptor
- Direct Known Subclasses:
- ComplexAcceptor, RulesAcceptor
- public abstract class ComplexAcceptorBaseImpl
- extends ContentModelAcceptor
base implementation of ComplexAcceptor.
- Author:
- Kohsuke KAWAGUCHI
ComplexAcceptorBaseImpl
public ComplexAcceptorBaseImpl(REDocumentDeclaration docDecl,
Expression combined,
Expression[] contents,
boolean ignoreUndeclaredAttributes)
onText
public final boolean onText(String literal,
IDContextProvider context,
StringRef refErr,
DatatypeRef refType)
- eats string literal
- Overrides:
onText
in class ExpressionAcceptor
- Following copied from interface:
com.sun.msv.verifier.Acceptor
- Parameters:
context
- an object that provides context information necessary to validate
some datatypes.refErr
- if this parameter is non-null, the implementation should
try to detect the reason of error and recover from it.
and this object should have the error message as its str field.refType
- if this parameter is non-null and the callee supports
type-assignment, the callee will assign the DataType object
to this variable.
Caller must initialize refType.type to null before calling this method.
If the callee doesn't support type-assignment or type-assignment
is impossible for this literal (possibly by ambiguous grammar),
this variable must kept null.- Returns:
- false
if the literal at this position is not allowed.
stepForward
public final boolean stepForward(Acceptor child,
StringRef errRef)
- Description copied from interface:
Acceptor
- eats a child element
A child acceptor created by the createChildAcceptor
method
will be ultimately consumed by the parent through this method.
It is the caller's responsibility to make sure that child acceptor
is in the accept state. If it's not, that indicates that some required
elements are missing (in other words, contents are not allowed to end here).
It is the callee's responsibility to recover from error of
unsatisified child acceptor. That is, even if the caller finds that
there are missing elements, it is possible to call this method
as if there was no such error.
- Overrides:
stepForward
in class ContentModelAcceptor
- Following copied from interface:
com.sun.msv.verifier.Acceptor
- Returns:
- false
if an error happens. For example, if the implementation passes
an acceptor which is NOT a child of this acceptor, then
the callee can return false.
onEndAttributes
public boolean onEndAttributes(StartTagInfo sti,
StringRef refErr)
- Description copied from interface:
Acceptor
- notifies the end of attributes.
This method needs to be called after the Acceptor.onAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, com.sun.msv.grammar.IDContextProvider, com.sun.msv.util.StringRef, com.sun.msv.util.DatatypeRef)
method is called for each present attribute.
An error at this method typically indicates that some required
attributes are missing.
- Overrides:
onEndAttributes
in class ExpressionAcceptor
- Following copied from interface:
com.sun.msv.verifier.Acceptor
- Parameters:
sti
- This information is used to produce the error message if that is
necessary.refErr
- In case of an error, this object will receive the localized error
message. Null is a valid value for this parameter.
The implementation must provide some kind of message.- Returns:
- false if an error happens and refErr parameter
was not provided. Otherwise true.