Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.tiles
Class TilesPlugin

    java.lang.Object
      |
      +--org.apache.struts.tiles.TilesPlugin

All Implemented Interfaces:
  PlugIn

public class TilesPlugin
extends java.lang.Object
implements PlugIn

Tiles Plugin used to initialize Tiles. This plugin is to be used with Struts 1.1 in association with `TilesRequestProcessor`.
This plugin creates one definition factory for each Struts-module. The definition factory configuration is read first from 'web.xml' (backward compatibility), then it is overloaded with values found in the plugin property values.
The plugin changes the Struts configuration by specifying a `TilesRequestProcessor` as request processor. If you want to use your own RequestProcessor, it should subclass TilesRequestProcessor.
This plugin can also be used to create one single factory for all modules. This behavior is enabled by specifying `moduleAware=false` in each plugin properties. In this case, the definition factory configuration file is read by the first Tiles plugin to be initialized. The order is determined by the order of modules declaration in web.xml. The first module is always the default one if it exists. The plugin should be declared in each struts-config.xml file in order to properly initialize the request processor.

Since:
  1.1
Author:
  Cedric Dumoulin

Field Summary
`protected PlugInConfig` | `currentPlugInConfigObject` The plugin config object provided by the ActionServlet initializing this plugin.
`protected DefinitionsFactory` | `definitionFactory` Associated definition factory
`protected static org.apache.commons.logging.Log` | `log` Commons Logging instance.
`protected boolean` | `moduleAware` Is the factory module aware ?
`protected java.lang.String` | `tilesUtilImplClassname` Tiles util implementation classname.

Constructor Summary
`TilesPlugin()`

Method Summary
`void` | `destroy()` End plugin.
`protected java.util.Map` | `findStrutsPlugInConfigProperties(ActionServlet servlet, ModuleConfig config)` Find original properties set in the Struts PlugInConfig object.
`java.lang.String` | `getTilesUtilImplClassname()` Get Tiles util implemention classname.
`void` | `init(ActionServlet servlet, ModuleConfig moduleConfig)` Receive notification that the specified module is being started up.
`protected void` | `initRequestProcessorClass(ModuleConfig config)` Set RequestProcessor to appropriate Tiles `RequestProcessor`.
`boolean` | `isModuleAware()` Get the module aware flag.
`protected DefinitionsFactoryConfig` | `readFactoryConfig(ActionServlet servlet, ModuleConfig config)` Create FactoryConfig and initialize it from web.xml and struts-config.xml.
`void` | `setCurrentPlugInConfigObject(PlugInConfig plugInConfigObject)` Method used by the ActionServlet initializing this plugin.
`void` | `setModuleAware(boolean moduleAware)` Set the module aware flag.
`void` | `setTilesUtilImplClassname(java.lang.String tilesUtilImplClassname)` Set Tiles util implemention classname.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    protected static org.apache.commons.logging.Log log

  Commons Logging instance.

### moduleAware

    protected boolean moduleAware

  Is the factory module aware ?

### tilesUtilImplClassname

    protected java.lang.String tilesUtilImplClassname

  Tiles util implementation classname. This property can be set by user in the plugin declaration

### definitionFactory

    protected DefinitionsFactory definitionFactory

  Associated definition factory

### currentPlugInConfigObject

    protected PlugInConfig currentPlugInConfigObject

  The plugin config object provided by the ActionServlet initializing this plugin.

Constructor Detail

### TilesPlugin

    public TilesPlugin()

Method Detail

### isModuleAware

    public boolean isModuleAware()

  Get the module aware flag.

  Returns:
    `true`: user wants a single factory instance, `false:` user wants multiple factory instances (one per module with Struts)

### setModuleAware

    public void setModuleAware(boolean moduleAware)

  Set the module aware flag. This flag is only meaningful if the property `tilesUtilImplClassname` is not set.

  Parameters:
    `moduleAware` - `true`: user wants a single factory instance, `false:` user wants multiple factory instances (one per module with Struts)

### init

    public void init(ActionServlet servlet,
                     ModuleConfig moduleConfig)
              throws javax.servlet.ServletException

  Receive notification that the specified module is being started up.

  Specified by:
    `init` in interface `PlugIn`
  Parameters:
    `servlet` - ActionServlet that is managing all the modules in this web application.
    `moduleConfig` - ModuleConfig for the module with which this plugin is associated.
  Throws:
    `javax.servlet.ServletException` - if this `PlugIn` cannot be successfully initialized.

### destroy

    public void destroy()

  End plugin.

  Specified by:
    `destroy` in interface `PlugIn`

### readFactoryConfig

    protected DefinitionsFactoryConfig readFactoryConfig(ActionServlet servlet,
                                                         ModuleConfig config)
                                                  throws javax.servlet.ServletException

  Create FactoryConfig and initialize it from web.xml and struts-config.xml.

  Parameters:
    `servlet` - ActionServlet that is managing all the modules in this web application.
    `config` - ModuleConfig for the module with which this plugin is associated.
  Throws:
    `javax.servlet.ServletException` - if this `PlugIn` cannot be successfully initialized.

### findStrutsPlugInConfigProperties

    protected java.util.Map findStrutsPlugInConfigProperties(ActionServlet servlet,
                                                             ModuleConfig config)
                                                      throws javax.servlet.ServletException

  Find original properties set in the Struts PlugInConfig object. First, we need to find the index of this plugin. Then we retrieve the array of configs and then the object for this plugin.

  Parameters:
    `servlet` - ActionServlet that is managing all the modules in this web application.
    `config` - ModuleConfig for the module with which this plug in is associated.
  Throws:
    `javax.servlet.ServletException` - if this `PlugIn` cannot be successfully initialized.

### initRequestProcessorClass

    protected void initRequestProcessorClass(ModuleConfig config)
                                      throws javax.servlet.ServletException

  Set RequestProcessor to appropriate Tiles `RequestProcessor`. First, check if a RequestProcessor is specified. If yes, check if it extends the appropriate `TilesRequestProcessor` class. If not, set processor class to TilesRequestProcessor.

  Parameters:
    `config` - ModuleConfig for the module with which this plugin is associated.
  Throws:
    `javax.servlet.ServletException` - On errors.

### setTilesUtilImplClassname

    public void setTilesUtilImplClassname(java.lang.String tilesUtilImplClassname)

  Set Tiles util implemention classname. If this property is set, the flag `moduleAware` will not be used anymore.

  Parameters:
    `tilesUtilImplClassname` - Classname.

### getTilesUtilImplClassname

    public java.lang.String getTilesUtilImplClassname()

  Get Tiles util implemention classname.

  Returns:
    The classname or `null` if none is set.

### setCurrentPlugInConfigObject

    public void setCurrentPlugInConfigObject(PlugInConfig plugInConfigObject)

  Method used by the ActionServlet initializing this plugin. Set the plugin config object read from module config.

  Parameters:
    `plugInConfigObject` - PlugInConfig.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2003 - Apache Software Foundation