foxy.proxy.filter

This package represents the implementation of the several transformation-(or filter-, respectively)actions of the system. The meaning and usage of the factory-class defined in this package (ProxyFilterFactory) is similar to the one in the transformer-package (see section 2.3.2). It is also implemented as singleton-class. The virtual machine parameter, which is responsible for the definition of the class's implementation is named foxy.proxy.filter.ProxyFilterFactory and its default value is by default set to the name of the default filter-factory-class (foxy.proxy.filter.DefaultFilterFactory). The ProxyFilter-interface (and its default implementation - DefaultProxyFilter) provides several functions, such as filterXSL(..), filterXQuery(..) or filterSearchAndReplace(..) for converting data, which return a byte-array of the transformed content. By overwriting the default factory- and filter-class (called DefaultProxyFilter), one can implement these functionalities by her own.

The structure of these classes is presented in figure 2.11.

Figure 2.11: Important classes/interfaces of package foxy.proxy.filter
Image foxy_proxy_filter-diag

In addition to the common filter-classes, the package contains one class that supports the completion of more complex transformations, called HTMLNodeVisitor:

HTMLNodeVisitor

This class performs page-splitting and process-partitioning tasks, respectively. It is inherited from the HTMLParser's-package (see section 2.2.2) NodeVisitor-class, which can be loosely compared to the functionality of a common SAX XML-parser's ContentHandler. When parsing an HTML-page, the parser decides (by given parameters and special group- and subgroup-tags embedded in the HTML-code) which parts of a page are left out. The remaining HTML-data is then delivered back to the client. When splitting large documents into smaller pieces, it is also possible to add different headers and footers to these pieces. The transformation-rule responsible for this process is called layoutPage, and is described further in the configuration-section (see refConfiguration)

root 2006-05-22