Package com.opensymphony.module.sitemesh.parser

# Class FastPageParser

java.lang.Object
com.opensymphony.module.sitemesh.parser.FastPageParser

All Implemented Interfaces:
  `PageParser`

public final class FastPageParser extends Object implements PageParser
Deprecated.
Use HTMLPageParser instead - it performs better and is more extensible.
Very fast PageParser implementation for parsing HTML.

Produces FastPage.

Version:
  $Revision: 1.13 $
Author:
  Victor Salaman

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`private class`
`FastPageParser.Tag`
Deprecated.

## Field Summary

Fields
Modifier and Type
Field
Description
`private static final int`
`BODY_HASH`
Deprecated.
`private static final int`
`CONTENT_HASH`
Deprecated.
`private static final int`
`FRAME_HASH`
Deprecated.
`private static final int`
`FRAMESET_HASH`
Deprecated.
`private static final int`
`HEAD_HASH`
Deprecated.
`private static final int`
`HTML_HASH`
Deprecated.
`private static final int`
`META_HASH`
Deprecated.
`private static final int`
`PARAMETER_HASH`
Deprecated.
`private static final int`
`SLASH_BODY_HASH`
Deprecated.
`private static final int`
`SLASH_HEAD_HASH`
Deprecated.
`private static final int`
`SLASH_HTML_HASH`
Deprecated.
`private static final int`
`SLASH_TITLE_HASH`
Deprecated.
`private static final int`
`SLASH_XML_HASH`
Deprecated.
`private static final int`
`SLASH_XMP_HASH`
Deprecated.
`private static final int`
`STATE_CDATA`
Deprecated.
`private static final int`
`STATE_COMMENT`
Deprecated.
`private static final int`
`STATE_DOCTYPE`
Deprecated.
`private static final int`
`STATE_EOF`
Deprecated.
`private static final int`
`STATE_SCRIPT`
Deprecated.
`private static final int`
`STATE_TAG`
Deprecated.
`private static final int`
`STATE_TAG_QUOTE`
Deprecated.
`private static final int`
`STATE_TEXT`
Deprecated.
`private static final int`
`TAG_STATE_BODY`
Deprecated.
`private static final int`
`TAG_STATE_HEAD`
Deprecated.
`private static final int`
`TAG_STATE_HTML`
Deprecated.
`private static final int`
`TAG_STATE_NONE`
Deprecated.
`private static final int`
`TAG_STATE_TITLE`
Deprecated.
`private static final int`
`TAG_STATE_XML`
Deprecated.
`private static final int`
`TAG_STATE_XMP`
Deprecated.
`private static final int`
`TITLE_HASH`
Deprecated.
`private static final int`
`TOKEN_CDATA`
Deprecated.
`private static final int`
`TOKEN_COMMENT`
Deprecated.
`private static final int`
`TOKEN_DOCTYPE`
Deprecated.
`private static final int`
`TOKEN_EMPTYTAG`
Deprecated.
`private static final int`
`TOKEN_EOF`
Deprecated.
`private static final int`
`TOKEN_NONE`
Deprecated.
`private static final int`
`TOKEN_SCRIPT`
Deprecated.
`private static final int`
`TOKEN_TAG`
Deprecated.
`private static final int`
`TOKEN_TEXT`
Deprecated.
`private static final int`
`XML_HASH`
Deprecated.
`private static final int`
`XMP_HASH`
Deprecated.

## Constructor Summary

Constructors
Constructor
Description
`FastPageParser()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`private FastPage`
`internalParse(Reader reader)`
Deprecated.
`Page`
`parse(char[] data)`
Deprecated.
This builds a Page.
`Page`
`parse(Reader reader)`
Deprecated.
`private static FastPageParser.Tag`
`parseProperties(FastPageParser.Tag tag, CharArray buffer)`
Deprecated.
This is called when we need to extract the properties for the tag from the tag's HTML.
`private FastPageParser.Tag`
`parseTag(FastPageParser.Tag tag, CharArray buf)`
Deprecated.
Populates a `FastPageParser.Tag` object using data from the supplied `CharArray`.
`private static boolean`
`shouldWriteToHead(int state, int laststate)`
Deprecated.
`private static void`
`writeTag(int state, int laststate, boolean hide, CharArray _head, CharArray _buffer, CharArray _body)`
Deprecated.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### TOKEN_NONE

private static final int TOKEN_NONE
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_EOF

private static final int TOKEN_EOF
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_TEXT

private static final int TOKEN_TEXT
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_TAG

private static final int TOKEN_TAG
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_COMMENT

private static final int TOKEN_COMMENT
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_CDATA

private static final int TOKEN_CDATA
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_SCRIPT

private static final int TOKEN_SCRIPT
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_DOCTYPE

private static final int TOKEN_DOCTYPE
Deprecated.

See Also:
  - Constant Field Values

### TOKEN_EMPTYTAG

private static final int TOKEN_EMPTYTAG
Deprecated.

See Also:
  - Constant Field Values

### STATE_EOF

private static final int STATE_EOF
Deprecated.

See Also:
  - Constant Field Values

### STATE_TEXT

private static final int STATE_TEXT
Deprecated.

See Also:
  - Constant Field Values

### STATE_TAG

private static final int STATE_TAG
Deprecated.

See Also:
  - Constant Field Values

### STATE_COMMENT

private static final int STATE_COMMENT
Deprecated.

See Also:
  - Constant Field Values

### STATE_TAG_QUOTE

private static final int STATE_TAG_QUOTE
Deprecated.

See Also:
  - Constant Field Values

### STATE_CDATA

private static final int STATE_CDATA
Deprecated.

See Also:
  - Constant Field Values

### STATE_SCRIPT

private static final int STATE_SCRIPT
Deprecated.

See Also:
  - Constant Field Values

### STATE_DOCTYPE

private static final int STATE_DOCTYPE
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_NONE

private static final int TAG_STATE_NONE
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_HTML

private static final int TAG_STATE_HTML
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_HEAD

private static final int TAG_STATE_HEAD
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_TITLE

private static final int TAG_STATE_TITLE
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_BODY

private static final int TAG_STATE_BODY
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_XML

private static final int TAG_STATE_XML
Deprecated.

See Also:
  - Constant Field Values

### TAG_STATE_XMP

private static final int TAG_STATE_XMP
Deprecated.

See Also:
  - Constant Field Values

### SLASH_XML_HASH

private static final int SLASH_XML_HASH
Deprecated.

See Also:
  - Constant Field Values

### XML_HASH

private static final int XML_HASH
Deprecated.

See Also:
  - Constant Field Values

### SLASH_XMP_HASH

private static final int SLASH_XMP_HASH
Deprecated.

See Also:
  - Constant Field Values

### XMP_HASH

private static final int XMP_HASH
Deprecated.

See Also:
  - Constant Field Values

### HTML_HASH

private static final int HTML_HASH
Deprecated.

See Also:
  - Constant Field Values

### SLASH_HTML_HASH

private static final int SLASH_HTML_HASH
Deprecated.

See Also:
  - Constant Field Values

### HEAD_HASH

private static final int HEAD_HASH
Deprecated.

See Also:
  - Constant Field Values

### TITLE_HASH

private static final int TITLE_HASH
Deprecated.

See Also:
  - Constant Field Values

### SLASH_TITLE_HASH

private static final int SLASH_TITLE_HASH
Deprecated.

See Also:
  - Constant Field Values

### PARAMETER_HASH

private static final int PARAMETER_HASH
Deprecated.

See Also:
  - Constant Field Values

### META_HASH

private static final int META_HASH
Deprecated.

See Also:
  - Constant Field Values

### SLASH_HEAD_HASH

private static final int SLASH_HEAD_HASH
Deprecated.

See Also:
  - Constant Field Values

### FRAMESET_HASH

private static final int FRAMESET_HASH
Deprecated.

See Also:
  - Constant Field Values

### FRAME_HASH

private static final int FRAME_HASH
Deprecated.

See Also:
  - Constant Field Values

### BODY_HASH

private static final int BODY_HASH
Deprecated.

See Also:
  - Constant Field Values

### SLASH_BODY_HASH

private static final int SLASH_BODY_HASH
Deprecated.

See Also:
  - Constant Field Values

### CONTENT_HASH

private static final int CONTENT_HASH
Deprecated.

See Also:
  - Constant Field Values

## Constructor Details

### FastPageParser

public FastPageParser()
Deprecated.

## Method Details

### parse

public Page parse(char[] data) throws IOException
Deprecated.
Description copied from interface: `PageParser`
This builds a Page.

Specified by:
  `parse` in interface `PageParser`
Throws:
  `IOException`

### parse

public Page parse(Reader reader)
Deprecated.

### internalParse

private FastPage internalParse(Reader reader)
Deprecated.

### writeTag

private static void writeTag(int state, int laststate, boolean hide, CharArray _head, CharArray _buffer, CharArray _body)
Deprecated.

### shouldWriteToHead

private static boolean shouldWriteToHead(int state, int laststate)
Deprecated.

### parseTag

private FastPageParser.Tag parseTag(FastPageParser.Tag tag, CharArray buf)
Deprecated.
Populates a `FastPageParser.Tag` object using data from the supplied `CharArray`. The supplied tag parameter is reset and reused - this avoids excess object creation which hwlps performance.

Returns:
  the same tag instance that was passed in, except it will be populated with a new `name` value (and the corresponding `nameEndIdx` value). However if the tag contained nathing but whitespace, this method will return `null`.

### parseProperties

private static FastPageParser.Tag parseProperties(FastPageParser.Tag tag, CharArray buffer)
Deprecated.
This is called when we need to extract the properties for the tag from the tag's HTML. We only call this when necessary since it has quite a lot of overhead.

Parameters:
  `tag` - the tag that is currently being processed. This should be the tag that was returned as a result of a call to `parseTag(FastPageParser.Tag, CharArray)` (ie, it has the `name` and `nameEndIdx` fields set correctly for the tag in question. The `properties` field can be in an undefined state - it will get replaced regardless).
  `buffer` - a `CharArray` containing the entire tag that is being parsed.
Returns:
  the same tag instance that was passed in, only it will now be populated with any properties that were specified in the tag's HTML.