com.lowagie.text.rtf.direct

Class RtfTokeniser

public class RtfTokeniser extends Object

The RtfTokeniser takes an RTF document stream and turns it into a set of RTF tokens. Five groups of tokens are differentiated:

Version: $Revision: 1.7 $

Author: Mark Hall (mhall@edu.uni-klu.ac.at) Bullo (bullo70@users.sourceforge.net)

Field Summary
intgroupLevel
The current group nesting level.
RtfParserrtfParser
The RtfParser to send tokens to.
intstate
The current state of this RtfTokeniser.
static intTOKENISER_STATE_IN_CTRL_WORD
The RtfTokeniser is currently tokenising a control word.
static intTOKENISER_STATE_IN_TEXT
The RtfTokeniser is currently tokenising a text.
static intTOKENISER_STATE_READY
The RtfTokeniser is in its ground state.
static intTOKENISER_STATE_SLASH
The last token parsed was a slash.
Constructor Summary
RtfTokeniser(RtfParser rtfParser, int startGroupLevel)
Constructs a new RtfTokeniser.
Method Summary
voidtokenise(Reader reader)
The main tokenisation method.

Field Detail

groupLevel

private int groupLevel
The current group nesting level.

rtfParser

private RtfParser rtfParser
The RtfParser to send tokens to.

state

private int state
The current state of this RtfTokeniser.

TOKENISER_STATE_IN_CTRL_WORD

private static final int TOKENISER_STATE_IN_CTRL_WORD
The RtfTokeniser is currently tokenising a control word.

TOKENISER_STATE_IN_TEXT

private static final int TOKENISER_STATE_IN_TEXT
The RtfTokeniser is currently tokenising a text.

TOKENISER_STATE_READY

private static final int TOKENISER_STATE_READY
The RtfTokeniser is in its ground state. Any token may follow.

TOKENISER_STATE_SLASH

private static final int TOKENISER_STATE_SLASH
The last token parsed was a slash.

Constructor Detail

RtfTokeniser

public RtfTokeniser(RtfParser rtfParser, int startGroupLevel)
Constructs a new RtfTokeniser. The startGroupLevel is required when parsing RTF fragments, since they are missing the opening group and closing group and thus this has to be set at the beginning.

Parameters: rtfParser The RtfParser to send tokens to. startGroupLevel The starting group nesting level. 0 for full documents, 1 for fragments.

Method Detail

tokenise

public void tokenise(Reader reader)
The main tokenisation method. Implements a LL(1) parser.

Parameters: reader The Reader to read the RTF document from.

Throws: IOException On I/O errors.