org.apache.struts.tiles

Class TilesUtil

public class TilesUtil extends Object

Class containing utility methods for Tiles. Methods of this class are static and thereby accessible from anywhere. The underlying implementation can be changed with {@link #setTilesUtil(TilesUtilImpl)}.
Real implementation classes should derive from the {@link TilesUtilImpl} class.
Some methods are specified to throw the UnsupportedOperationException if the underlying implementation doesn't support the operation.
Field Summary
static booleanimplAlreadySet
Flag to know if internal implementation has been set by the setter method
protected static Loglog
Commons Logging instance.
protected static TilesUtilImpltilesUtilImpl
The implementation of tilesUtilImpl
Method Summary
static DefinitionsFactorycreateDefinitionsFactory(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig)
Create Definition factory from specified configuration object.
static voiddoForward(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
Do a forward using request dispatcher.
static voiddoInclude(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
Do an include using request dispatcher.
static voiddoInclude(String uri, PageContext pageContext)
Do an include using PageContext.include().
static ComponentDefinitiongetDefinition(String definitionName, ServletRequest request, ServletContext servletContext)
Get a definition by its name.
static DefinitionsFactorygetDefinitionsFactory(ServletRequest request, ServletContext servletContext)
Get definition factory from appropriate servlet context.
static TilesUtilImplgetTilesUtil()
Get the real implementation.
static booleanisTilesUtilImplSet()
Getter to know if the underlying implementation is already set to another value than the default value.
static voidsetTilesUtil(TilesUtilImpl tilesUtil)
Set the real implementation.
protected static voidtestReset()
Reset internal state.

Field Detail

implAlreadySet

private static boolean implAlreadySet
Flag to know if internal implementation has been set by the setter method

log

protected static Log log
Commons Logging instance.

tilesUtilImpl

protected static TilesUtilImpl tilesUtilImpl
The implementation of tilesUtilImpl

Method Detail

createDefinitionsFactory

public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig)
Create Definition factory from specified configuration object. Create a ConfigurableDefinitionsFactory and initialize it with the configuration object. This later can contain the factory classname to use. Factory is made accessible from tags.

Fallback of several factory creation methods.

Parameters: servletContext Servlet Context passed to newly created factory. factoryConfig Configuration object passed to factory.

Returns: newly created factory of type ConfigurableDefinitionsFactory.

Throws: DefinitionsFactoryException If an error occur while initializing factory

doForward

public static void doForward(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
Do a forward using request dispatcher. This method is used by the Tiles package anytime a forward is required.

Parameters: uri Uri or Definition name to forward. request Current page request. response Current page response. servletContext Current servlet context.

doInclude

public static void doInclude(String uri, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext)
Do an include using request dispatcher. This method is used by the Tiles package when an include is required. The Tiles package can use indifferently any form of this method.

Parameters: uri Uri or Definition name to forward. request Current page request. response Current page response. servletContext Current servlet context.

doInclude

public static void doInclude(String uri, PageContext pageContext)
Do an include using PageContext.include(). This method is used by the Tiles package when an include is required. The Tiles package can use indifferently any form of this method.

Parameters: uri Uri or Definition name to forward. pageContext Current page context.

getDefinition

public static ComponentDefinition getDefinition(String definitionName, ServletRequest request, ServletContext servletContext)
Get a definition by its name. First, retrieve definition factory and then get requested definition. Throw appropriate exception if definition or definition factory is not found.

Parameters: definitionName Name of requested definition. request Current servelet request. servletContext current servlet context.

Throws: FactoryNotFoundException Can't find definition factory. DefinitionsFactoryException General error in factory while getting definition. NoSuchDefinitionException No definition found for specified name

getDefinitionsFactory

public static DefinitionsFactory getDefinitionsFactory(ServletRequest request, ServletContext servletContext)
Get definition factory from appropriate servlet context.

Returns: Definitions factory or null if not found.

getTilesUtil

public static TilesUtilImpl getTilesUtil()
Get the real implementation.

Returns: The underlying implementation object.

isTilesUtilImplSet

static boolean isTilesUtilImplSet()
Getter to know if the underlying implementation is already set to another value than the default value.

Returns: true if {@link #setTilesUtil} has already been called.

setTilesUtil

public static void setTilesUtil(TilesUtilImpl tilesUtil)
Set the real implementation. This method should be called only once. Successive calls have no effect.

Parameters: tilesUtil The implementaion.

testReset

protected static void testReset()
Reset internal state. This method is used by test suites to reset the class to its original state.
Copyright © 2000-2008 - The Apache Software Foundation