rabbit.filter
Class BodyFilter

java.lang.Object
  extended by rabbit.filter.HtmlFilter
      extended by rabbit.filter.SimpleTagFilter
          extended by rabbit.filter.BodyFilter
All Implemented Interfaces:
HtmlFilterFactory

public class BodyFilter
extends SimpleTagFilter

A class that inserts some text and links at the top of a page. Useful for inserting links to unfiltered page.

Author:
Robert Olofsson

Field Summary
 
Fields inherited from class rabbit.filter.HtmlFilter
con, request, response
 
Constructor Summary
BodyFilter()
           
BodyFilter(Connection con, HttpHeader request, HttpHeader response)
          Create a new BodyFilter for the given request, response pair.
 
Method Summary
 void filterHtml(HtmlBlock block)
          Insert some text at the top of the html page.
 void handleTag(Tag tag, HtmlBlock block, int tokenIndex)
          Handle a tag.
protected  int insertTokens(HtmlBlock block, int pos)
          Insert the links in an ordered fashion.
 HtmlFilter newFilter(Connection con, HttpHeader request, HttpHeader response)
          Get a new HtmlFilter for the given request, response pair.
 
Methods inherited from class rabbit.filter.HtmlFilter
isCacheable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BodyFilter

public BodyFilter()

BodyFilter

public BodyFilter(Connection con,
                  HttpHeader request,
                  HttpHeader response)
Create a new BodyFilter for the given request, response pair.

Parameters:
con - the Connection handling the request.
request - the actual request made.
response - the actual response being sent.
Method Detail

newFilter

public HtmlFilter newFilter(Connection con,
                            HttpHeader request,
                            HttpHeader response)
Description copied from interface: HtmlFilterFactory
Get a new HtmlFilter for the given request, response pair.

Parameters:
con - the Connection handling the request.
request - the actual request made.
response - the actual response being sent.

filterHtml

public void filterHtml(HtmlBlock block)
Insert some text at the top of the html page.

Overrides:
filterHtml in class SimpleTagFilter
Parameters:
block - the part of the html page we are filtering.

handleTag

public void handleTag(Tag tag,
                      HtmlBlock block,
                      int tokenIndex)
Description copied from class: SimpleTagFilter
Handle a tag.

Specified by:
handleTag in class SimpleTagFilter
Parameters:
tag - the Tag to handle.
block - the current HtmlBlock
tokenIndex - the index of the current Token

insertTokens

protected int insertTokens(HtmlBlock block,
                           int pos)
Insert the links in an ordered fashion.

Parameters:
block - the html block were filtering.
pos - the position in the block were inserting stuff at.
Returns:
the new position in the block.