Home of: [Atelier "FUJIGURUMA"] >> [PageMixer hosted by SourceForge.net]

SEE "For Readers of English Version",
or Japanese version of this page

Create 'Producer'

This section explains how to customize creating Producer with PageServlet.

Overview

Class diagram

Class diagram in this section is shown below:

Class diagram
Class diagram (click for large figure)

Classes which you must define are colored, and other are already defined.

Class names

In this tutorial, abbreviated class names are used. Complete names are shown below.

Classes of PageMixer framework

NotationFull name
LoosePageState jp.ne.dti.lares.foozy.pagemixer.parser.LoosePageState
PageParser jp.ne.dti.lares.foozy.pagemixer.mixer.PageParser
PageServlet jp.ne.dti.lares.foozy.pagemixer.servlet.PageServlet
PageState jp.ne.dti.lares.foozy.pagemixer.parser.PageState
Producer jp.ne.dti.lares.foozy.pagemixer.mixer.Producer
ProducerFactory jp.ne.dti.lares.foozy.pagemixer.servlet.ProducerFactory

Tutorial specific classes

No tutorial specific class is explained in this section.

Purpose of customization

Please see "Render locale sensitively" section for detail about creating Producer from InputStream of 'resource'.

In addtion to it, please see API document and source code of it about detail to define custom ProducerFactory, even though you may satisfy your needs by default ProducerFactory implementation using PageParser to create Producer in almost all cases.

Configuration

Parameters for base class

ProducerFactory accepts Servet initialize parameter(s) shown below:

name description
producer.parser.pageState name of class implementing PageState to parse target (HTML) files with PageParser. default value is name of LoosePageState.

Parameter to use choosen class

To use your custom ProducerFactory, you should specify "servlet.producerFactory" Servlet init-param in deployment descriptor as shown below.

<init-param>
  <param-name>
    servlet.producerFactory
  </param-name>
  <param-value>
    name of your custom ProducerFactory
  </param-value>
</init-param>

Specify custom ProdcerFactory

To next section "Forward control"