com.lowagie.text.rtf.parser

Class RtfParser

public class RtfParser extends Object

The RtfParser allows the importing of RTF documents or RTF document fragments. The RTF document or fragment is tokenised, font and color definitions corrected and then added to the document being written.

Since: 2.0.8

Author: Mark Hall (Mark.Hall@mail.room3b.eu) Howard Shank (hgshank@yahoo.com)

Field Summary
longbinByteCount
When the tokeniser is Binary.
longbinSkipByteCount
When the tokeniser is set to skip bytes, binSkipByteCount is the number of bytes to skip.
longbyteCount
Total bytes read.
longcharacterCount
Total clear text characters processed.
longcloseGroupCount
Total } encountered as a close group token.
intconversionType
Conversion type.
longctrlWordCount
Total control words processed.
longctrlWordHandledCount
Total control words recognized.
longctrlWordNotHandledCount
Total control words not handled.
longctrlWordSkippedCount
Total control words skipped.
RtfParserStatecurrentState
The current parser state.
static booleandebugParser
Debugging flag.
RtfDestinationMgrdestinationMgr
The RtfDestinationMgr object to manage destinations.
intdocGroupLevel
The current document group nesting level.
Documentdocument
The iText document to add the RTF document to.
static intDESTINATION_NORMAL
Destination is normal.
static intDESTINATION_SKIP
Destination is skipping.
Elementelem
The iText element to add the RTF document to.
DateendDate
End date as a date.
longendTime
Stop time as a long.
static interrAssertion
static interrBadTable
static interrCtrlWordNotFound
static interrEndOfFile
static interrInvalidHex
static interrOK
static interrStackOverflow
static interrStackUnderflow
static interrUnmatchedBrace
intgroupLevel
The current group nesting level.
longgroupSkippedCount
Total groups skipped.
RtfImportMgrimportMgr
The RtfImportHeader to store imported font and color mappings in.
RtfCtrlWordDatalastCtrlWordParam
Last control word and parameter processed.
ArrayListlisteners
The RtfCtrlWordListener.
booleanlogAppend
StringlogFile
booleanlogging
longopenGroupCount
Total { encountered as an open group token.
PushbackInputStreampbReader
The pushback reader to read the input stream.
static intPARSER_ERROR
Currently the parser is in an error state.
static intPARSER_ERROR_EOF
The parser reached the end of the file.
static intPARSER_IN_BLIPUID
Currently a blipuid control word is being parsed.
static intPARSER_IN_CHARSET
Currently the RTF charset is being parsed.
static intPARSER_IN_COLOR_TABLE
Currently the RTF color table is being parsed.
static intPARSER_IN_DEFFONT
Currently the RTF deffont is being parsed.
static intPARSER_IN_DOCUMENT
Currently the RTF document content is being parsed.
static intPARSER_IN_FILE_TABLE
Currently the RTF filetbl is being parsed.
static intPARSER_IN_FONT_TABLE
Currently the RTF font table is being parsed.
static intPARSER_IN_FONT_TABLE_INFO
Currently a RTF font table info element is being parsed.
static intPARSER_IN_GENERATOR
Currently the RTF generator is being parsed.
static intPARSER_IN_HEADER
Currently the RTF document header is being parsed.
static intPARSER_IN_INFO_GROUP
Currently the RTF info group is being parsed.
static intPARSER_IN_LATENTSTYLES
Currently the Latent Style and Formatting usage restrictions
static intPARSER_IN_LISTOVERRIDE_TABLE
Currently the RTF listtable override is being parsed.
static intPARSER_IN_LIST_TABLE
Currently the RTF listtables is being parsed.
static intPARSER_IN_OLDCPROPS
Currently the RTF Old Properties.
static intPARSER_IN_OLDPPROPS
Currently the RTF Old Properties.
static intPARSER_IN_OLDSPROPS
Currently the RTF Old Properties.
static intPARSER_IN_OLDTPROPS
Currently the RTF Old Properties.
static intPARSER_IN_PARAGRAPH_GROUP_PROPERTIES
static intPARSER_IN_PARAGRAPH_TABLE
Currently the RTF Paragraph group properties Table (word 2002)
static intPARSER_IN_PICPROP
Currently a picprop control word is being parsed.
static intPARSER_IN_PICT
Currently a pict control word is being parsed.
static intPARSER_IN_PROT_USER_TABLE
Currently the RTF User Protection Information.
static intPARSER_IN_REV_TABLE
Currently the RTF revtbl is being parsed.
static intPARSER_IN_RSID_TABLE
Currently the RTF rsidtable is being parsed.
static intPARSER_IN_SHPPICT
Currently a shppict control word is being parsed.
static intPARSER_IN_STYLESHEET
Currently the RTF stylesheet is being parsed.
static intPARSER_IN_UNKNOWN
Currently the parser is in an unknown state.
static intPARSER_IN_UPR
static intPARSER_STARTSTOP
The parser is at the beginning or the end of the file.
RtfDocumentrtfDoc
The RtfDocument to add the RTF document or fragment to.
RtfCtrlWordMgrrtfKeywordMgr
The RtfKeywords that creates and handles keywords that are implemented.
intskipGroupLevel
When the tokeniser is set to skip to next group, this is the group indentifier to return to.
StackstackState
Stack for saving states for groups
DatestartDate
Start date as a date.
longstartTime
Start time as a long.
static intTOKENISER_BINARY
The RtfTokeniser is currently reading binary stream.
static intTOKENISER_HEX
The RtfTokeniser is currently reading hex data.
static intTOKENISER_IGNORE_RESULT
The RtfTokeniser ignore result
static intTOKENISER_NORMAL
The RtfTokeniser is in its ground state.
static intTOKENISER_SKIP_BYTES
The last token parsed was a slash.
static intTOKENISER_SKIP_GROUP
The RtfTokeniser is currently tokenising a control word.
static intTOKENISER_STATE_IN_ERROR
The RtfTokeniser is currently in error state
static intTOKENISER_STATE_IN_UNKOWN
The RtfTokeniser is currently in an unkown state
static intTYPE_CONVERT
Conversion type is a conversion.
static intTYPE_IMPORT_FRAGMENT
Conversion type is an import of a partial file/fragment.
static intTYPE_IMPORT_FULL
Conversion type is an import.
static intTYPE_IMPORT_INTO_ELEMENT
Conversion type to import a document into an element. i.e.
static intTYPE_UNIDENTIFIED
Conversion type is unknown
Constructor Summary
RtfParser(Document doc)
Constructor
Method Summary
voidaddListener(EventListener listener)
Adds a EventListener to the RtfCtrlWordMgr.
voidconvertRtfDocument(InputStream readerIn, Document doc)
Converts an RTF document to an iText document.
intgetConversionType()
Get the conversion type.
RtfDestinationgetCurrentDestination()
Get the current destination object.
RtfDestinationgetDestination(String destination)
Get a destination from the map
DocumentgetDocument()
Get the Document object.
booleangetExtendedDestination()
Helper method to indicate if this control word was a \* control word.
RtfImportMgrgetImportManager()
Get the RtfImportHeader object.
intgetLevel()
Gets the current group level
StringgetLogFile()
Get the logfile name.
intgetParserState()
Get the current state of the parser.
RtfDocumentgetRtfDocument()
Get the RTF Document object.
RtfParserStategetState()
Get the state of the parser.
intgetTokeniserState()
Get the current state of the tokeniser.
inthandleCharacter(int nextChar)
Handles text tokens.
inthandleCloseGroup()
Handles close group tokens.
inthandleCtrlWord(RtfCtrlWordData ctrlWordData)
Handles control word tokens.
voidhandleImportMappings(RtfImportMappings importMappings)
Imports the mappings defined in the RtfImportMappings into the RtfImportHeader of this RtfParser2.
inthandleOpenGroup()
Handles open group tokens.
voidimportRtfDocument(InputStream readerIn, RtfDocument rtfDoc)
Imports a complete RTF document.
voidimportRtfDocumentIntoElement(Element elem, InputStream readerIn, RtfDocument rtfDoc)
Imports a complete RTF document into an Element, i.e.
voidimportRtfFragment(InputStream readerIn, RtfDocument rtfDoc, RtfImportMappings importMappings)
Imports an RTF fragment.
voidinit(int type, RtfDocument rtfDoc, InputStream readerIn, Document doc, Element elem)
Initialize the parser object values.
PushbackInputStreaminit_Reader(InputStream readerIn)
Casts the input reader to a PushbackReader or creates a new PushbackReader from the Reader passed in.
protected voidinit_stats()
Initialize the statistics values.
booleanisConvert()
Helper method to determin if conversion is TYPE_CONVERT
booleanisImport()
Helper method to determin if conversion is TYPE_IMPORT_FULL or TYPE_IMPORT_FRAGMENT
booleanisImportFragment()
Helper method to determin if conversion is TYPE_IMPORT_FRAGMENT
booleanisImportFull()
Helper method to determin if conversion is TYPE_IMPORT_FULL
booleanisLogAppend()
booleanisLogging()
Get flag indicating if logging is on or off.
booleanisNewGroup()
Helper method to determine if this is a new group.
static voidoutputDebug(Object doc, int groupLevel, String str)
intparseChar(int nextChar)
Process the character and send it to the current destination.
intparseCtrlWord(PushbackInputStream reader)
Parses a keyword and it's parameter if one exists
voidremoveListener(EventListener listener)
Removes a EventListener from the RtfCtrlWordMgr.
booleansetCurrentDestination(String destination)
Set the current destination object for the current state.
booleansetExtendedDestination(boolean value)
Helper method to set the extended control word flag.
voidsetLogAppend(boolean logAppend)
voidsetLogFile(String logFile)
Set the logFile name
voidsetLogFile(String logFile, boolean logAppend)
Set the logFile name
voidsetLogging(boolean logging)
Set flag indicating if logging is on or off
booleansetNewGroup(boolean value)
Helper method to set the new group flag
intsetParserState(int newState)
Set the state value of the parser.
voidsetTokeniserSkipBytes(long numberOfBytesToSkip)
Sets the number of bytes to skip and the state of the tokeniser.
intsetTokeniserState(int value)
Set the current state of the tokeniser.
voidsetTokeniserStateBinary(int binaryCount)
Sets the number of binary bytes.
voidsetTokeniserStateBinary(long binaryCount)
Sets the number of binary bytes.
voidsetTokeniserStateNormal()
Set the tokeniser state to skip to the end of the group.
voidsetTokeniserStateSkipGroup()
Set the tokeniser state to skip to the end of the group.
voidtokenise()
Read through the input file and parse the data stream into tokens.

Field Detail

binByteCount

private long binByteCount
When the tokeniser is Binary.

binSkipByteCount

private long binSkipByteCount
When the tokeniser is set to skip bytes, binSkipByteCount is the number of bytes to skip.

byteCount

private long byteCount
Total bytes read.

characterCount

private long characterCount
Total clear text characters processed.

closeGroupCount

private long closeGroupCount
Total } encountered as a close group token.

conversionType

private int conversionType
Conversion type. Identifies if we are doing in import or a convert.

ctrlWordCount

private long ctrlWordCount
Total control words processed. Contains both known and unknown. ctrlWordCount should equal ctrlWrodHandlecCount + ctrlWordNotHandledCountctrlWordSkippedCount

ctrlWordHandledCount

private long ctrlWordHandledCount
Total control words recognized.

ctrlWordNotHandledCount

private long ctrlWordNotHandledCount
Total control words not handled.

ctrlWordSkippedCount

private long ctrlWordSkippedCount
Total control words skipped.

currentState

private RtfParserState currentState
The current parser state.

debugParser

private static final boolean debugParser
Debugging flag.

destinationMgr

private RtfDestinationMgr destinationMgr
The RtfDestinationMgr object to manage destinations.

docGroupLevel

private int docGroupLevel
The current document group nesting level. Used for fragments.

document

private Document document
The iText document to add the RTF document to.

DESTINATION_NORMAL

public static final int DESTINATION_NORMAL
Destination is normal. Text is processed.

DESTINATION_SKIP

public static final int DESTINATION_SKIP
Destination is skipping. Text is ignored.

elem

private Element elem
The iText element to add the RTF document to.

Since: 2.1.3

endDate

private Date endDate
End date as a date.

endTime

private long endTime
Stop time as a long.

errAssertion

public static final int errAssertion

errBadTable

public static final int errBadTable

errCtrlWordNotFound

public static final int errCtrlWordNotFound

errEndOfFile

public static final int errEndOfFile

errInvalidHex

public static final int errInvalidHex

errOK

public static final int errOK

errStackOverflow

public static final int errStackOverflow

errStackUnderflow

public static final int errStackUnderflow

errUnmatchedBrace

public static final int errUnmatchedBrace

groupLevel

private int groupLevel
The current group nesting level.

groupSkippedCount

private long groupSkippedCount
Total groups skipped. Includes { and } as a group.

importMgr

private RtfImportMgr importMgr
The RtfImportHeader to store imported font and color mappings in.

lastCtrlWordParam

private RtfCtrlWordData lastCtrlWordParam
Last control word and parameter processed.

listeners

private ArrayList listeners
The RtfCtrlWordListener.

logAppend

private boolean logAppend

logFile

private String logFile

logging

private boolean logging

openGroupCount

private long openGroupCount
Total { encountered as an open group token.

pbReader

private PushbackInputStream pbReader
The pushback reader to read the input stream.

PARSER_ERROR

public static final int PARSER_ERROR
Currently the parser is in an error state.

PARSER_ERROR_EOF

public static final int PARSER_ERROR_EOF
The parser reached the end of the file.

PARSER_IN_BLIPUID

public static final int PARSER_IN_BLIPUID
Currently a blipuid control word is being parsed.

PARSER_IN_CHARSET

public static final int PARSER_IN_CHARSET
Currently the RTF charset is being parsed.

PARSER_IN_COLOR_TABLE

public static final int PARSER_IN_COLOR_TABLE
Currently the RTF color table is being parsed.

PARSER_IN_DEFFONT

public static final int PARSER_IN_DEFFONT
Currently the RTF deffont is being parsed.

PARSER_IN_DOCUMENT

public static final int PARSER_IN_DOCUMENT
Currently the RTF document content is being parsed.

PARSER_IN_FILE_TABLE

public static final int PARSER_IN_FILE_TABLE
Currently the RTF filetbl is being parsed.

PARSER_IN_FONT_TABLE

public static final int PARSER_IN_FONT_TABLE
Currently the RTF font table is being parsed.

PARSER_IN_FONT_TABLE_INFO

public static final int PARSER_IN_FONT_TABLE_INFO
Currently a RTF font table info element is being parsed.

PARSER_IN_GENERATOR

public static final int PARSER_IN_GENERATOR
Currently the RTF generator is being parsed.

PARSER_IN_HEADER

public static final int PARSER_IN_HEADER
Currently the RTF document header is being parsed.

PARSER_IN_INFO_GROUP

public static final int PARSER_IN_INFO_GROUP
Currently the RTF info group is being parsed.

PARSER_IN_LATENTSTYLES

public static final int PARSER_IN_LATENTSTYLES
Currently the Latent Style and Formatting usage restrictions

PARSER_IN_LISTOVERRIDE_TABLE

public static final int PARSER_IN_LISTOVERRIDE_TABLE
Currently the RTF listtable override is being parsed.

PARSER_IN_LIST_TABLE

public static final int PARSER_IN_LIST_TABLE
Currently the RTF listtables is being parsed.

PARSER_IN_OLDCPROPS

public static final int PARSER_IN_OLDCPROPS
Currently the RTF Old Properties.

PARSER_IN_OLDPPROPS

public static final int PARSER_IN_OLDPPROPS
Currently the RTF Old Properties.

PARSER_IN_OLDSPROPS

public static final int PARSER_IN_OLDSPROPS
Currently the RTF Old Properties.

PARSER_IN_OLDTPROPS

public static final int PARSER_IN_OLDTPROPS
Currently the RTF Old Properties.

PARSER_IN_PARAGRAPH_GROUP_PROPERTIES

public static final int PARSER_IN_PARAGRAPH_GROUP_PROPERTIES

PARSER_IN_PARAGRAPH_TABLE

public static final int PARSER_IN_PARAGRAPH_TABLE
Currently the RTF Paragraph group properties Table (word 2002)

PARSER_IN_PICPROP

public static final int PARSER_IN_PICPROP
Currently a picprop control word is being parsed.

PARSER_IN_PICT

public static final int PARSER_IN_PICT
Currently a pict control word is being parsed.

PARSER_IN_PROT_USER_TABLE

public static final int PARSER_IN_PROT_USER_TABLE
Currently the RTF User Protection Information.

PARSER_IN_REV_TABLE

public static final int PARSER_IN_REV_TABLE
Currently the RTF revtbl is being parsed.

PARSER_IN_RSID_TABLE

public static final int PARSER_IN_RSID_TABLE
Currently the RTF rsidtable is being parsed.

PARSER_IN_SHPPICT

public static final int PARSER_IN_SHPPICT
Currently a shppict control word is being parsed.

PARSER_IN_STYLESHEET

public static final int PARSER_IN_STYLESHEET
Currently the RTF stylesheet is being parsed.

PARSER_IN_UNKNOWN

public static final int PARSER_IN_UNKNOWN
Currently the parser is in an unknown state.

PARSER_IN_UPR

public static final int PARSER_IN_UPR

PARSER_STARTSTOP

public static final int PARSER_STARTSTOP
The parser is at the beginning or the end of the file.

rtfDoc

private RtfDocument rtfDoc
The RtfDocument to add the RTF document or fragment to.

rtfKeywordMgr

private RtfCtrlWordMgr rtfKeywordMgr
The RtfKeywords that creates and handles keywords that are implemented.

skipGroupLevel

private int skipGroupLevel
When the tokeniser is set to skip to next group, this is the group indentifier to return to.

stackState

private Stack stackState
Stack for saving states for groups

startDate

private Date startDate
Start date as a date.

startTime

private long startTime
Start time as a long.

TOKENISER_BINARY

public static final int TOKENISER_BINARY
The RtfTokeniser is currently reading binary stream.

TOKENISER_HEX

public static final int TOKENISER_HEX
The RtfTokeniser is currently reading hex data.

TOKENISER_IGNORE_RESULT

public static final int TOKENISER_IGNORE_RESULT
The RtfTokeniser ignore result

TOKENISER_NORMAL

public static final int TOKENISER_NORMAL
The RtfTokeniser is in its ground state. Any token may follow.

TOKENISER_SKIP_BYTES

public static final int TOKENISER_SKIP_BYTES
The last token parsed was a slash.

TOKENISER_SKIP_GROUP

public static final int TOKENISER_SKIP_GROUP
The RtfTokeniser is currently tokenising a control word.

TOKENISER_STATE_IN_ERROR

public static final int TOKENISER_STATE_IN_ERROR
The RtfTokeniser is currently in error state

TOKENISER_STATE_IN_UNKOWN

public static final int TOKENISER_STATE_IN_UNKOWN
The RtfTokeniser is currently in an unkown state

TYPE_CONVERT

public static final int TYPE_CONVERT
Conversion type is a conversion. This uses the document (not rtfDoc) to add all the elements making it a different supported documents depending on the writer used.

TYPE_IMPORT_FRAGMENT

public static final int TYPE_IMPORT_FRAGMENT
Conversion type is an import of a partial file/fragment. Uses direct content to add everything.

TYPE_IMPORT_FULL

public static final int TYPE_IMPORT_FULL
Conversion type is an import. Uses direct content to add everything. This is what the original import does.

TYPE_IMPORT_INTO_ELEMENT

public static final int TYPE_IMPORT_INTO_ELEMENT
Conversion type to import a document into an element. i.e. Chapter, Section, Table Cell, etc.

Since: 2.1.4

TYPE_UNIDENTIFIED

public static final int TYPE_UNIDENTIFIED
Conversion type is unknown

Constructor Detail

RtfParser

public RtfParser(Document doc)
Constructor

Parameters: doc

Since: 2.1.3

Method Detail

addListener

public void addListener(EventListener listener)
Adds a EventListener to the RtfCtrlWordMgr.

Parameters: listener the new EventListener.

Since: 2.1.3

convertRtfDocument

public void convertRtfDocument(InputStream readerIn, Document doc)
Converts an RTF document to an iText document. Usage: Create a parser object and call this method with the input stream and the iText Document object

Parameters: readerIn The Reader to read the RTF file from. doc The iText document that the RTF file is to be added to.

Throws: IOException On I/O errors.

Since: 2.1.3

getConversionType

public int getConversionType()
Get the conversion type.

Returns: The type of the conversion. Import or Convert.

Since: 2.1.3

getCurrentDestination

public RtfDestination getCurrentDestination()
Get the current destination object.

Returns: The current state destination

Since: 2.1.3

getDestination

public RtfDestination getDestination(String destination)
Get a destination from the map

Parameters: destination The string destination.

Returns: The destination object from the map

Since: 2.1.3

getDocument

public Document getDocument()
Get the Document object.

Returns: Returns the object rtfDoc.

Since: 2.1.3

getExtendedDestination

public boolean getExtendedDestination()
Helper method to indicate if this control word was a \* control word.

Returns: true if it was a \* control word, otherwise false

Since: 2.1.3

getImportManager

public RtfImportMgr getImportManager()
Get the RtfImportHeader object.

Returns: Returns the object importHeader.

Since: 2.1.3

getLevel

public int getLevel()
Gets the current group level

Returns: The current group level value.

Since: 2.1.3

getLogFile

public String getLogFile()
Get the logfile name.

Returns: the logFile

Since: 2.1.3

getParserState

public int getParserState()
Get the current state of the parser.

Returns: The current state of the parser.

Since: 2.1.3

getRtfDocument

public RtfDocument getRtfDocument()
Get the RTF Document object.

Returns: Returns the object rtfDoc.

Since: 2.1.3

getState

public RtfParserState getState()
Get the state of the parser.

Returns: The current RtfParserState state object.

Since: 2.1.3

getTokeniserState

public int getTokeniserState()
Get the current state of the tokeniser.

Returns: The current state of the tokeniser.

Since: 2.1.3

handleCharacter

public int handleCharacter(int nextChar)
Handles text tokens. These are either handed on to the appropriate destination handler.

Parameters: nextChar The text token to handle.

Returns: errOK if ok, other if an error occurred.

Since: 2.1.3

handleCloseGroup

public int handleCloseGroup()
Handles close group tokens. (})

Returns: errOK if ok, other if an error occurred.

Since: 2.1.3

handleCtrlWord

public int handleCtrlWord(RtfCtrlWordData ctrlWordData)
Handles control word tokens. Depending on the current state a control word can lead to a state change. When parsing the actual document contents, certain tabled values are remapped. i.e. colors, fonts, styles, etc.

Parameters: ctrlWordData The control word to handle.

Returns: errOK if ok, other if an error occurred.

Since: 2.1.3

handleImportMappings

private void handleImportMappings(RtfImportMappings importMappings)
Imports the mappings defined in the RtfImportMappings into the RtfImportHeader of this RtfParser2.

Parameters: importMappings The RtfImportMappings to import.

Since: 2.1.3

handleOpenGroup

public int handleOpenGroup()
Handles open group tokens. ({)

Returns: errOK if ok, other if an error occurred.

Since: 2.1.3

importRtfDocument

public void importRtfDocument(InputStream readerIn, RtfDocument rtfDoc)
Imports a complete RTF document.

Parameters: readerIn The Reader to read the RTF document from. rtfDoc The RtfDocument to add the imported document to.

Throws: IOException On I/O errors.

Since: 2.1.3

importRtfDocumentIntoElement

public void importRtfDocumentIntoElement(Element elem, InputStream readerIn, RtfDocument rtfDoc)
Imports a complete RTF document into an Element, i.e. Chapter, section, Table Cell, etc.

Parameters: elem The Element the document is to be imported into. readerIn The Reader to read the RTF document from. rtfDoc The RtfDocument to add the imported document to.

Throws: IOException On I/O errors.

Since: 2.1.4

importRtfFragment

public void importRtfFragment(InputStream readerIn, RtfDocument rtfDoc, RtfImportMappings importMappings)
Imports an RTF fragment.

Parameters: readerIn The Reader to read the RTF fragment from. rtfDoc The RTF document to add the RTF fragment to. importMappings The RtfImportMappings defining font and color mappings for the fragment.

Throws: IOException On I/O errors.

Since: 2.1.3

init

private void init(int type, RtfDocument rtfDoc, InputStream readerIn, Document doc, Element elem)
Initialize the parser object values.

Parameters: type Type of conversion or import rtfDoc The RtfDocument readerIn The input stream doc The iText Document

Since: 2.1.3

init_Reader

private PushbackInputStream init_Reader(InputStream readerIn)
Casts the input reader to a PushbackReader or creates a new PushbackReader from the Reader passed in. The reader is also transformed into a BufferedReader if necessary.

Parameters: readerIn The Reader object for the input file.

Returns: PushbackReader object

Since: 2.1.3

init_stats

protected void init_stats()
Initialize the statistics values.

Since: 2.1.3

isConvert

public boolean isConvert()
Helper method to determin if conversion is TYPE_CONVERT

Returns: true if TYPE_CONVERT, otherwise false

Since: 2.1.3

See Also: TYPE_CONVERT

isImport

public boolean isImport()
Helper method to determin if conversion is TYPE_IMPORT_FULL or TYPE_IMPORT_FRAGMENT

Returns: true if TYPE_CONVERT, otherwise false

Since: 2.1.3

See Also: TYPE_IMPORT_FULL TYPE_IMPORT_FRAGMENT

isImportFragment

public boolean isImportFragment()
Helper method to determin if conversion is TYPE_IMPORT_FRAGMENT

Returns: true if TYPE_CONVERT, otherwise false

Since: 2.1.3

See Also: TYPE_IMPORT_FRAGMENT

isImportFull

public boolean isImportFull()
Helper method to determin if conversion is TYPE_IMPORT_FULL

Returns: true if TYPE_CONVERT, otherwise false

Since: 2.1.3

See Also: TYPE_IMPORT_FULL

isLogAppend

public boolean isLogAppend()

Returns: the logAppend

Since: 2.1.3

isLogging

public boolean isLogging()
Get flag indicating if logging is on or off.

Returns: the logging

Since: 2.1.3

isNewGroup

public boolean isNewGroup()
Helper method to determine if this is a new group.

Returns: true if this is a new group, otherwise it returns false.

Since: 2.1.3

outputDebug

public static void outputDebug(Object doc, int groupLevel, String str)

parseChar

private int parseChar(int nextChar)
Process the character and send it to the current destination.

Parameters: nextChar The character to process

Returns: Returns an error code or errOK if no error.

Since: 2.1.3

parseCtrlWord

private int parseCtrlWord(PushbackInputStream reader)
Parses a keyword and it's parameter if one exists

Parameters: reader This is a pushback reader for file input.

Returns: Returns an error code or errOK if no error.

Throws: IOException Catch any file read problem.

Since: 2.1.3

removeListener

public void removeListener(EventListener listener)
Removes a EventListener from the RtfCtrlWordMgr.

Parameters: listener the EventListener that has to be removed.

Since: 2.1.3

setCurrentDestination

public boolean setCurrentDestination(String destination)
Set the current destination object for the current state.

Parameters: destination The destination value to set.

Since: 2.1.3

setExtendedDestination

public boolean setExtendedDestination(boolean value)
Helper method to set the extended control word flag.

Parameters: value Boolean to set the value to.

Returns: isExtendedDestination.

Since: 2.1.3

setLogAppend

public void setLogAppend(boolean logAppend)

Parameters: logAppend the logAppend to set

Since: 2.1.3

setLogFile

public void setLogFile(String logFile)
Set the logFile name

Parameters: logFile the logFile to set

Since: 2.1.3

setLogFile

public void setLogFile(String logFile, boolean logAppend)
Set the logFile name

Parameters: logFile the logFile to set

Since: 2.1.3

setLogging

public void setLogging(boolean logging)
Set flag indicating if logging is on or off

Parameters: logging true to turn on logging, false to turn off logging.

Since: 2.1.3

setNewGroup

public boolean setNewGroup(boolean value)
Helper method to set the new group flag

Parameters: value The boolean value to set the flag

Returns: The value of newGroup

Since: 2.1.3

setParserState

public int setParserState(int newState)
Set the state value of the parser.

Parameters: newState The new state for the parser

Returns: The state of the parser.

Since: 2.1.3

setTokeniserSkipBytes

public void setTokeniserSkipBytes(long numberOfBytesToSkip)
Sets the number of bytes to skip and the state of the tokeniser.

Parameters: numberOfBytesToSkip The numbere of bytes to skip in the file.

Since: 2.1.3

setTokeniserState

public int setTokeniserState(int value)
Set the current state of the tokeniser.

Parameters: value The new state of the tokeniser.

Returns: The state of the tokeniser.

Since: 2.1.3

setTokeniserStateBinary

public void setTokeniserStateBinary(int binaryCount)
Sets the number of binary bytes.

Parameters: binaryCount The number of binary bytes.

Since: 2.1.3

setTokeniserStateBinary

public void setTokeniserStateBinary(long binaryCount)
Sets the number of binary bytes.

Parameters: binaryCount The number of binary bytes.

Since: 2.1.3

setTokeniserStateNormal

public void setTokeniserStateNormal()
Set the tokeniser state to skip to the end of the group. Sets the state to TOKENISER_SKIP_GROUP and skipGroupLevel to the current group level.

Since: 2.1.3

setTokeniserStateSkipGroup

public void setTokeniserStateSkipGroup()
Set the tokeniser state to skip to the end of the group. Sets the state to TOKENISER_SKIP_GROUP and skipGroupLevel to the current group level.

Since: 2.1.3

tokenise

public void tokenise()
Read through the input file and parse the data stream into tokens.

Throws: IOException on IO error.

Since: 2.1.3