Package com.sun.msv.reader
Class State
java.lang.Object
com.sun.msv.reader.State
- All Implemented Interfaces:
ContentHandler
- Direct Known Subclasses:
IgnoreState
,NamespaceState
,SimpleState
base interface of 'parsing state'.
parsing of XML representation of a grammar is done by
using various states.
Each State-derived class is responsible for a particular type of declaration of the grammar. For example, SequenceState is responsible for parsing <sequence> element of RELAX module.
State objects interact each other. There are two ways of interaction.
- from parent to child
- from child to parent
In this level of inheritance, contract is somewhat abstract.
- When a State object is created, its init method is called and various information is set. Particularly, start tag information (if any) and the parent state is set. This process should only be initiated by GrammarReader.
- After that, startSelf method is called. Usually, this is the place to do something useful.
- State object is registered as a ContentHandler, and therefore will receive SAX events from now on.
- Derived classes are expected to do something useful by receiving SAX events.
- When a State object finishes its own part, it should call GrammarReader.popState method. It will remove the current State object and registers the parent state as a ContentHandler again.
SimpleState
.
this class also provides:
- access to the parent state
- default implementations for all ContentHandler callbacks except startElement and endElement
- Author:
- Kohsuke KAWAGUCHI
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
base URI for this state.protected Locator
Location of the start tag.protected State
parent state of this state.reader object who is the owner of this object.protected StartTagInfo
information of the start tag. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
_assert
(boolean b) protected final Expression
void
characters
(char[] buffer, int from, int len) void
endPrefixMapping
(String prefix) final State
void
ignorableWhitespace
(char[] buffer, int from, int len) protected final void
init
(GrammarReader reader, State parentState, StartTagInfo startTag) void
processingInstruction
(String target, String data) void
void
skippedEntity
(String name) final void
void
startPrefixMapping
(String prefix, String uri) protected void
performs a task that should be done before reading any child elements.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xml.sax.ContentHandler
declaration, endDocument, endElement, startElement
-
Field Details
-
parentState
parent state of this state. In other words, the parent state is a state who is responsible for the parent element of the current element. For states responsible for the document element, the parent state is a state who is responsible for the entire document. For states responsible for the entire document, the parent state is always null. -
reader
reader object who is the owner of this object. This information is avaiable after init method is called. -
startTag
information of the start tag. This information is avaiable after init method is called. -
location
Location of the start tag. This information is avaiable after init method is called. -
baseURI
base URI for this state. This information is avaiable after init method is called.
-
-
Constructor Details
-
State
public State()
-
-
Method Details
-
getParentState
-
getStartTag
-
getLocation
-
getBaseURI
-
init
-
startSelf
protected void startSelf()performs a task that should be done before reading any child elements. derived-class can safely read startTag and/or parentState values. -
_assert
public static void _assert(boolean b) -
characters
- Specified by:
characters
in interfaceContentHandler
- Throws:
SAXException
-
callInterceptExpression
-
processingInstruction
- Specified by:
processingInstruction
in interfaceContentHandler
- Throws:
SAXException
-
ignorableWhitespace
- Specified by:
ignorableWhitespace
in interfaceContentHandler
- Throws:
SAXException
-
skippedEntity
- Specified by:
skippedEntity
in interfaceContentHandler
- Throws:
SAXException
-
startDocument
- Specified by:
startDocument
in interfaceContentHandler
- Throws:
SAXException
-
setDocumentLocator
- Specified by:
setDocumentLocator
in interfaceContentHandler
-
startPrefixMapping
- Specified by:
startPrefixMapping
in interfaceContentHandler
- Throws:
SAXException
-
endPrefixMapping
- Specified by:
endPrefixMapping
in interfaceContentHandler
- Throws:
SAXException
-