com.sun.msv.verifier.regexp

Class ContentModelAcceptor

Implemented Interfaces:
Acceptor
Known Direct Subclasses:
ComplexAcceptorBaseImpl, SimpleAcceptor

public abstract class ContentModelAcceptor
extends ExpressionAcceptor

base implementation for SimpleAcceptor and ComplexAcceptor
Author:
Kohsuke KAWAGUCHI

Fields inherited from interface com.sun.msv.verifier.Acceptor

STRING_IGNORE, STRING_PROHIBITED, STRING_STRICT

Method Summary

Object
getOwnerType()
gets the "type" object for which this acceptor is working.
boolean
stepForward(Acceptor child, StringRef errRef)
eats a child element

A child acceptor created by the createChildAcceptor method will be ultimately consumed by the parent through this method.

Methods inherited from class com.sun.msv.verifier.regexp.ExpressionAcceptor

createChildAcceptor, getExpression, getStringCareLevel, isAcceptState, onAttribute, onAttribute2, onEndAttributes, onText, onText2, stepForwardByContinuation

Method Details

getOwnerType

public Object getOwnerType()
gets the "type" object for which this acceptor is working. This method is used for type assignment. Actual Java type of return value depends on the implementation.
Specified by:
getOwnerType in interface Acceptor
Returns:
null the callee should return null when it doesn't support type-assignment feature, or type-assignment is impossible for this acceptor (for example by ambiguous grammar).

stepForward

public boolean stepForward(Acceptor child,
                           StringRef errRef)
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.

Specified by:
stepForward in interface 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.