org.apache.struts.tiles
Class TilesPlugin
java.lang.Object
org.apache.struts.tiles.TilesPlugin
- PlugIn
public class TilesPlugin
extends java.lang.Object
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.
currentPlugInConfigObject
protected PlugInConfig currentPlugInConfigObject
The plugin config object provided by the ActionServlet initializing
this plugin.
definitionFactory
protected DefinitionsFactory definitionFactory
Associated definition factory.
log
protected static Log log
Commons Logging instance.
moduleAware
protected boolean moduleAware
Is the factory module aware?
tilesUtilImplClassname
protected String tilesUtilImplClassname
Tiles util implementation classname. This property can be set
by user in the plugin declaration.
destroy
public void destroy()
End plugin.
- destroy in interface PlugIn
findStrutsPlugInConfigProperties
protected Map findStrutsPlugInConfigProperties(ActionServlet servlet,
ModuleConfig config)
throws 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.
servlet
- ActionServlet that is managing all the modules
in this web application.config
- ModuleConfig for the module with which
this plug in is associated.
getTilesUtilImplClassname
public String getTilesUtilImplClassname()
Get Tiles util implemention classname.
- The classname or
null
if none is set.
init
public void init(ActionServlet servlet,
ModuleConfig moduleConfig)
throws ServletException
Receive notification that the specified module is being
started up.
- init in interface PlugIn
servlet
- ActionServlet that is managing all the modules
in this web application.moduleConfig
- ModuleConfig for the module with which
this plugin is associated.
initDefinitionsFactory
private void initDefinitionsFactory(ServletContext servletContext,
ModuleConfig moduleConfig,
DefinitionsFactoryConfig factoryConfig)
throws ServletException
Initialize the DefinitionsFactory this module will use.
servletContext
- moduleConfig
- factoryConfig
-
initRequestProcessorClass
protected void initRequestProcessorClass(ModuleConfig config)
throws 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.
config
- ModuleConfig for the module with which
this plugin is associated.
initTilesUtil
private void initTilesUtil()
throws ServletException
Set TilesUtil implementation according to properties 'tilesUtilImplClassname'
and 'moduleAware'. These properties are taken into account only once. A
side effect is that only the values set in the first initialized plugin are
effectively taken into account.
isModuleAware
public boolean isModuleAware()
Get the module aware flag.
true
: user wants a single factory instance,
false:
user wants multiple factory instances (one per module with Struts)
readFactoryConfig
protected DefinitionsFactoryConfig readFactoryConfig(ActionServlet servlet,
ModuleConfig config)
throws ServletException
Create FactoryConfig and initialize it from web.xml and struts-config.xml.
servlet
- ActionServlet that is managing all the modules
in this web application.config
- ModuleConfig for the module with which
this plugin is associated.
setCurrentPlugInConfigObject
public void setCurrentPlugInConfigObject(PlugInConfig plugInConfigObject)
Method used by the ActionServlet initializing this plugin.
Set the plugin config object read from module config.
plugInConfigObject
- PlugInConfig.
setModuleAware
public void setModuleAware(boolean moduleAware)
Set the module aware flag.
This flag is only meaningful if the property tilesUtilImplClassname
is not
set.
moduleAware
- true
: user wants a single factory instance,
false:
user wants multiple factory instances (one per module with Struts)
setTilesUtilImplClassname
public void setTilesUtilImplClassname(String tilesUtilImplClassname)
Set Tiles util implemention classname.
If this property is set, the flag moduleAware
will not be used anymore.
tilesUtilImplClassname
- Classname.
Copyright B) 2000-2007 - The Apache Software Foundation