org.apache.struts.tiles

Class DefinitionsUtil

Implemented Interfaces:
ComponentConstants

public class DefinitionsUtil
extends TilesUtil
implements ComponentConstants

Utilities class for definitions factory. Also define userDebugLevel property (to be moved from this class ?). (to do).

Nested Class Summary

(package private) static class
DefinitionsUtil.ServletPropertiesMap
Inner class.

Field Summary

static String
ACTION_DEFINITION
Constant name used to store definition in jsp context.
static String
DEFINITIONS_CONFIG_USER_DEBUG_LEVEL
Name of init property carrying debug level
static String
DEFINITIONS_FACTORY
Constant name used to store factory in context
static String
DEFINITIONS_FACTORY_CLASSNAME
Name of init property carrying factory class name
static String
INSTANCES_CONFIG_USER_DEBUG_LEVEL
Deprecated. use DEFINITIONS_CONFIG_USER_DEBUG_LEVEL instead.
static int
NO_DEBUG
User Debug level
protected static Log
log
Commons Logging instance.
static int
userDebugLevel
Global user defined debug level

Fields inherited from class org.apache.struts.tiles.TilesUtil

implAlreadySet, log, tilesUtilImpl

Fields inherited from interface org.apache.struts.taglib.tiles.ComponentConstants

COMPONENT_CONTEXT, COMPONENT_SCOPE, EXCEPTION_KEY, LOCALE_KEY

Method Summary

static DefinitionsFactory
createDefinitionFactoryInstance(String classname)
Deprecated. No direct replacement.
static DefinitionsFactory
createDefinitionsFactory(ServletContext servletContext, Map properties)
Create default Definition factory.
static DefinitionsFactory
createDefinitionsFactory(ServletContext servletContext, Map properties, String classname)
Deprecated. Use createDefinitionsFactory(ServletContext servletContext, ServletConfig servletConfig)
static DefinitionsFactory
createDefinitionsFactory(ServletContext servletContext, ServletConfig servletConfig)
Create Definition factory.
static DefinitionsFactory
createDefinitionsFactory(ServletContext servletContext, ServletConfig servletConfig, boolean checkIfExist)
Create Definition factory.
static ComponentDefinition
getActionDefinition(ServletRequest request)
Get Definition stored in jsp context by an action.
static ComponentDefinition
getDefinition(String definitionName, PageContext pageContext)
Deprecated. Use TilesUtil.getDefinition(String,ServletRequest,ServletContext)
static DefinitionsFactory
getDefinitionsFactory(ServletContext servletContext)
Deprecated. Use TilesUtil.getDefinitionsFactory(ServletRequest,ServletContext)
static void
initUserDebugLevel(ServletConfig servletConfig)
Deprecated. Use commons-logging package instead.
static void
makeDefinitionsFactoryAccessible(DefinitionsFactory factory, ServletContext servletContext)
Deprecated. Use TilesUtil.createDefinitionsFactory(ServletContext,DefinitionsFactoryConfig)
static void
populateDefinitionsFactoryConfig(DefinitionsFactoryConfig factoryConfig, ServletConfig servletConfig)
Populate Definition Factory Config from web.xml properties.
protected static DefinitionsFactoryConfig
readFactoryConfig(ServletConfig servletConfig)
Create FactoryConfig and initialize it from web.xml.
static void
removeActionDefinition(ServletRequest request, ComponentDefinition definition)
Remove Definition stored in jsp context.
static void
setActionDefinition(ServletRequest request, ComponentDefinition definition)
Store definition in jsp context.
protected static void
setDefinitionsFactory(ComponentDefinitionsFactory factory, ServletContext servletContext)
Deprecated. since 20020708.
static void
setUserDebugLevel(int level)
Deprecated. Use commons-logging package instead.

Methods inherited from class org.apache.struts.tiles.TilesUtil

applicationClass, createDefinitionsFactory, doForward, doInclude, doInclude, getDefinition, getDefinitionsFactory, getTilesUtil, isTilesUtilImplSet, setTilesUtil, testReset

Field Details

ACTION_DEFINITION

public static final String ACTION_DEFINITION
Constant name used to store definition in jsp context. Used to pass definition from a Struts action to servlet forward


DEFINITIONS_CONFIG_USER_DEBUG_LEVEL

public static final String DEFINITIONS_CONFIG_USER_DEBUG_LEVEL
Name of init property carrying debug level


DEFINITIONS_FACTORY

public static final String DEFINITIONS_FACTORY
Constant name used to store factory in context


DEFINITIONS_FACTORY_CLASSNAME

public static final String DEFINITIONS_FACTORY_CLASSNAME
Name of init property carrying factory class name


INSTANCES_CONFIG_USER_DEBUG_LEVEL

public static final String INSTANCES_CONFIG_USER_DEBUG_LEVEL

Deprecated. use DEFINITIONS_CONFIG_USER_DEBUG_LEVEL instead.

Name of init property carrying debug level


NO_DEBUG

public static final int NO_DEBUG
User Debug level

Field Value:
0


log

protected static Log log
Commons Logging instance.


userDebugLevel

public static int userDebugLevel
Global user defined debug level

Method Details

createDefinitionFactoryInstance

public static DefinitionsFactory createDefinitionFactoryInstance(String classname)
            throws DefinitionsFactoryException

Deprecated. No direct replacement. Use createDefinitionFactory

Create Definition factory from provided classname. Factory class must extends TilesDefinitionsFactory. TilesUtil.createDefinitionsFactory(ServletContext,DefinitionsFactoryConfig).

Parameters:
classname - Class name of the factory to create.

Returns:
newly created factory.

Throws:
DefinitionsFactoryException - If an error occur while initializing factory


createDefinitionsFactory

public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext,
                                                          Map properties)
            throws DefinitionsFactoryException
Create default Definition factory.

Parameters:
servletContext - Servlet Context passed to newly created factory.
properties - Map of name/property used to initialize factory configuration object.

Returns:
newly created factory of type ConfigurableDefinitionsFactory.

Throws:
DefinitionsFactoryException - If an error occur while initializing factory


createDefinitionsFactory

public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext,
                                                          Map properties,
                                                          String classname)
            throws DefinitionsFactoryException

Deprecated. Use createDefinitionsFactory(ServletContext servletContext, ServletConfig servletConfig)

Create Definition factory. If a factory class name is provided, a factory of this class is created. Otherwise, default factory is created.

Parameters:
servletContext - Servlet Context passed to newly created factory.
properties - Map of name/property used to initialize factory configuration object.
classname - Class name of the factory to create.

Returns:
newly created factory.

Throws:
DefinitionsFactoryException - If an error occur while initializing factory


createDefinitionsFactory

public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext,
                                                          ServletConfig servletConfig)
            throws DefinitionsFactoryException
Create Definition factory. Create configuration object from servlet web.xml file, then create ConfigurableDefinitionsFactory and initialized it with object.

Convenience method. Calls createDefinitionsFactory(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig)

Parameters:
servletContext - Servlet Context passed to newly created factory.
servletConfig - Servlet config containing parameters to be passed to factory configuration object.

Returns:
newly created factory of type ConfigurableDefinitionsFactory.

Throws:
DefinitionsFactoryException - If an error occur while initializing factory


createDefinitionsFactory

public static DefinitionsFactory createDefinitionsFactory(ServletContext servletContext,
                                                          ServletConfig servletConfig,
                                                          boolean checkIfExist)
            throws DefinitionsFactoryException
Create Definition factory. Create configuration object from servlet web.xml file, then create ConfigurableDefinitionsFactory and initialized it with object.

If checkIfExist is true, start by checking if factory already exist. If yes, return it. If no, create a new one.

If checkIfExist is false, factory is always created.

Convenience method. Calls createDefinitionsFactory(ServletContext servletContext, DefinitionsFactoryConfig factoryConfig)

Parameters:
servletContext - Servlet Context passed to newly created factory.
servletConfig - Servlet config containing parameters to be passed to factory configuration object.
checkIfExist - Check if factory already exist. If true and factory exist, return it. If true and factory doesn't exist, create it. If false, create it in all cases.

Returns:
newly created factory of type ConfigurableDefinitionsFactory.

Throws:
DefinitionsFactoryException - If an error occur while initializing factory


getActionDefinition

public static ComponentDefinition getActionDefinition(ServletRequest request)
Get Definition stored in jsp context by an action.

Returns:
ComponentDefinition or null if not found.


getDefinition

public static ComponentDefinition getDefinition(String definitionName,
                                                PageContext pageContext)
            throws FactoryNotFoundException,
                   DefinitionsFactoryException

Deprecated. Use TilesUtil.getDefinition(String,ServletRequest,ServletContext)

Get a component / template definition by its name. First, retrieve instance factory, and then get requested instance. Throw appropriate exception if definition is not found.

Parameters:
definitionName - Name of requested definition.
pageContext - Current pageContext

Throws:
FactoryNotFoundException - Can't find definition factory.
DefinitionsFactoryException - General error in factory while getting definition.


getDefinitionsFactory

public static DefinitionsFactory getDefinitionsFactory(ServletContext servletContext)

Deprecated. Use TilesUtil.getDefinitionsFactory(ServletRequest,ServletContext)

Get definition factory from appropriate servlet context.

Returns:
Definitions factory or null if not found.

Since:
20020708


initUserDebugLevel

public static void initUserDebugLevel(ServletConfig servletConfig)

Deprecated. Use commons-logging package instead.

Init user debug level.

Parameters:
servletConfig -


makeDefinitionsFactoryAccessible

public static void makeDefinitionsFactoryAccessible(DefinitionsFactory factory,
                                                    ServletContext servletContext)

Deprecated. Use TilesUtil.createDefinitionsFactory(ServletContext,DefinitionsFactoryConfig)

Make definition factory accessible to Tags. Factory is stored in servlet context.

Parameters:
factory - Factory to make accessible
servletContext - Current servlet context

Since:
20020708


populateDefinitionsFactoryConfig

public static void populateDefinitionsFactoryConfig(DefinitionsFactoryConfig factoryConfig,
                                                    ServletConfig servletConfig)
            throws java.lang.IllegalAccessException,
                   java.lang.reflect.InvocationTargetException
Populate Definition Factory Config from web.xml properties.

Parameters:
factoryConfig - Definition Factory Config to populate.
servletConfig - Current servlet config containing web.xml properties.

Since:
tiles 20020708

See Also:
org.apache.commons.beanutils.BeanUtils


readFactoryConfig

protected static DefinitionsFactoryConfig readFactoryConfig(ServletConfig servletConfig)
            throws DefinitionsFactoryException
Create FactoryConfig and initialize it from web.xml.

Parameters:
servletConfig - ServletConfig for the module with which this plug in is associated

Throws:
DefinitionsFactoryException - if this PlugIn cannot be successfully initialized


removeActionDefinition

public static void removeActionDefinition(ServletRequest request,
                                          ComponentDefinition definition)
Remove Definition stored in jsp context. Mainly used by Struts to pass a definition defined in an Action to the forward.


setActionDefinition

public static void setActionDefinition(ServletRequest request,
                                       ComponentDefinition definition)
Store definition in jsp context. Mainly used by Struts to pass a definition defined in an Action to the forward.


setDefinitionsFactory

protected static void setDefinitionsFactory(ComponentDefinitionsFactory factory,
                                            ServletContext servletContext)

Deprecated. since 20020708. Replaced by makeFactoryAccessible()

Set definition factory in appropriate servlet context.

Parameters:
factory - Factory to store.
servletContext - Servlet context that will hold factory.


setUserDebugLevel

public static void setUserDebugLevel(int level)

Deprecated. Use commons-logging package instead.

Set user debug level. This property control level of errors output.

Parameters:
level -


Copyright B) 2000-2005 - Apache Software Foundation