org.apache.tiles.impl
Class BasicTilesContainer

Package class diagram package BasicTilesContainer
java.lang.Object
  extended by org.apache.tiles.impl.BasicTilesContainer
All Implemented Interfaces:
org.apache.tiles.TilesContainer
Direct Known Subclasses:
CachingTilesContainer, KeyedDefinitionsFactoryTilesContainer

public class BasicTilesContainer
extends java.lang.Object
implements org.apache.tiles.TilesContainer

Basic implementation of the tiles container interface. In most cases, this container will be customized by injecting customized services, not necessarily by override the container

Since:
2.0

Field Summary
static java.lang.String DEFINITIONS_CONFIG
          Constant representing the configuration parameter used to define the tiles definition resources.
 
Constructor Summary
BasicTilesContainer()
           
 
Method Summary
protected  void checkInit()
          Determine whether or not the container has been initialized.
 void endContext(java.lang.Object request, java.lang.Object response)
           
 void endContext(javax.servlet.jsp.PageContext context)
           
 org.apache.tiles.TilesApplicationContext getApplicationContext()
          Standard Getter
 org.apache.tiles.ComponentContext getComponentContext(java.lang.Object request, java.lang.Object response)
           
 org.apache.tiles.ComponentContext getComponentContext(javax.servlet.jsp.PageContext pageContext)
           
 TilesContextFactory getContextFactory()
           
protected  ComponentDefinition getDefinition(java.lang.String definitionName, TilesRequestContext request)
           
 DefinitionsFactory getDefinitionsFactory()
          Standard Getter
 PreparerFactory getPreparerFactory()
          Standard Getter
protected  java.util.List<java.lang.String> getResourceNames(java.lang.String resourceString)
          Parse the resourceString into a list of resource paths which can be loaded by the application context.
protected  java.lang.String getResourceString()
          Derive the resource string from the initialization parameters.
protected  java.lang.String getResourceString(java.util.Map<java.lang.String,java.lang.String> parms)
          Derive the resource string from the initialization parameters.
 void init(java.util.Map<java.lang.String,java.lang.String> initParameters)
          Initialize the Container with the given configuration.
protected  void initializeDefinitionsFactory(DefinitionsFactory definitionsFactory, java.lang.String resourceString, java.util.Map<java.lang.String,java.lang.String> initParameters)
          Initializes a definitions factory.
 boolean isValidDefinition(java.lang.Object request, java.lang.Object response, java.lang.String definitionName)
           
 boolean isValidDefinition(javax.servlet.jsp.PageContext pageContext, java.lang.String definitionName)
           
 void prepare(java.lang.Object request, java.lang.Object response, java.lang.String preparer)
           
 void prepare(javax.servlet.jsp.PageContext context, java.lang.String preparer)
           
 void render(java.lang.Object request, java.lang.Object response, java.lang.String definitionName)
          Render the specified definition.
 void render(javax.servlet.jsp.PageContext pageContext, org.apache.tiles.ComponentAttribute attr)
           
 void render(javax.servlet.jsp.PageContext context, java.lang.String definitionName)
           
 void setApplicationContext(org.apache.tiles.TilesApplicationContext context)
           
 void setContextFactory(TilesContextFactory contextFactory)
           
 void setDefinitionsFactory(DefinitionsFactory definitionsFactory)
          Set the definitions factory.
 void setPreparerFactory(PreparerFactory preparerFactory)
          Set the preparerInstance factory.
 org.apache.tiles.ComponentContext startContext(java.lang.Object request, java.lang.Object response)
           
 org.apache.tiles.ComponentContext startContext(javax.servlet.jsp.PageContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFINITIONS_CONFIG

public static final java.lang.String DEFINITIONS_CONFIG
Constant representing the configuration parameter used to define the tiles definition resources.

See Also:
Constant Field Values
Constructor Detail

BasicTilesContainer

public BasicTilesContainer()
Method Detail

init

public void init(java.util.Map<java.lang.String,java.lang.String> initParameters)
          throws org.apache.tiles.TilesException
Initialize the Container with the given configuration.

Specified by:
init in interface org.apache.tiles.TilesContainer
Parameters:
initParameters - application context for this container
Throws:
org.apache.tiles.TilesException

startContext

public org.apache.tiles.ComponentContext startContext(java.lang.Object request,
                                                      java.lang.Object response)
Specified by:
startContext in interface org.apache.tiles.TilesContainer

startContext

public org.apache.tiles.ComponentContext startContext(javax.servlet.jsp.PageContext context)
Specified by:
startContext in interface org.apache.tiles.TilesContainer

endContext

public void endContext(java.lang.Object request,
                       java.lang.Object response)
Specified by:
endContext in interface org.apache.tiles.TilesContainer

endContext

public void endContext(javax.servlet.jsp.PageContext context)
Specified by:
endContext in interface org.apache.tiles.TilesContainer

checkInit

protected void checkInit()
Determine whether or not the container has been initialized. Utility method used for methods which can not be invoked after the container has been started.

Throws:
java.lang.IllegalStateException - if the container has already been initialized.

initializeDefinitionsFactory

protected void initializeDefinitionsFactory(DefinitionsFactory definitionsFactory,
                                            java.lang.String resourceString,
                                            java.util.Map<java.lang.String,java.lang.String> initParameters)
                                     throws org.apache.tiles.TilesException
Initializes a definitions factory.

Parameters:
definitionsFactory - The factory to initializes.
resourceString - The string containing a comma-separated-list of resources.
initParameters - A map containing the initialization parameters.
Throws:
org.apache.tiles.TilesException - If something goes wrong.

getApplicationContext

public org.apache.tiles.TilesApplicationContext getApplicationContext()
Standard Getter

Specified by:
getApplicationContext in interface org.apache.tiles.TilesContainer
Returns:
the application context for this container.

setApplicationContext

public void setApplicationContext(org.apache.tiles.TilesApplicationContext context)

getComponentContext

public org.apache.tiles.ComponentContext getComponentContext(java.lang.Object request,
                                                             java.lang.Object response)
Specified by:
getComponentContext in interface org.apache.tiles.TilesContainer

getComponentContext

public org.apache.tiles.ComponentContext getComponentContext(javax.servlet.jsp.PageContext pageContext)
Specified by:
getComponentContext in interface org.apache.tiles.TilesContainer

getContextFactory

public TilesContextFactory getContextFactory()

setContextFactory

public void setContextFactory(TilesContextFactory contextFactory)

getDefinitionsFactory

public DefinitionsFactory getDefinitionsFactory()
Standard Getter

Returns:
the definitions factory used by this container.

setDefinitionsFactory

public void setDefinitionsFactory(DefinitionsFactory definitionsFactory)
Set the definitions factory. This method first ensures that the container has not yet been initialized.

Parameters:
definitionsFactory - the definitions factory for this instance.

getPreparerFactory

public PreparerFactory getPreparerFactory()
Standard Getter

Returns:
return the preparerInstance factory used by this container.

setPreparerFactory

public void setPreparerFactory(PreparerFactory preparerFactory)
Set the preparerInstance factory. This method first ensures that the container has not yet been initialized.

Parameters:
preparerFactory - the preparerInstance factory for this conainer.

prepare

public void prepare(java.lang.Object request,
                    java.lang.Object response,
                    java.lang.String preparer)
             throws org.apache.tiles.TilesException
Specified by:
prepare in interface org.apache.tiles.TilesContainer
Throws:
org.apache.tiles.TilesException

prepare

public void prepare(javax.servlet.jsp.PageContext context,
                    java.lang.String preparer)
             throws org.apache.tiles.TilesException
Specified by:
prepare in interface org.apache.tiles.TilesContainer
Throws:
org.apache.tiles.TilesException

render

public void render(java.lang.Object request,
                   java.lang.Object response,
                   java.lang.String definitionName)
            throws org.apache.tiles.TilesException
Render the specified definition.

Specified by:
render in interface org.apache.tiles.TilesContainer
Parameters:
request - the TilesRequestContext
Throws:
org.apache.tiles.TilesException

render

public void render(javax.servlet.jsp.PageContext context,
                   java.lang.String definitionName)
            throws org.apache.tiles.TilesException
Specified by:
render in interface org.apache.tiles.TilesContainer
Throws:
org.apache.tiles.TilesException

render

public void render(javax.servlet.jsp.PageContext pageContext,
                   org.apache.tiles.ComponentAttribute attr)
            throws org.apache.tiles.TilesException,
                   java.io.IOException
Specified by:
render in interface org.apache.tiles.TilesContainer
Throws:
org.apache.tiles.TilesException
java.io.IOException

getDefinition

protected ComponentDefinition getDefinition(java.lang.String definitionName,
                                            TilesRequestContext request)
                                     throws DefinitionsFactoryException
Throws:
DefinitionsFactoryException

getResourceString

protected java.lang.String getResourceString()
Derive the resource string from the initialization parameters. If no parameter DEFINITIONS_CONFIG is available, attempts to retrieve LEGACY_DEFINITIONS_CONFIG. If niether are available, returns "/WEB-INF/tiles.xml".

Returns:
resource string to be parsed.

getResourceString

protected java.lang.String getResourceString(java.util.Map<java.lang.String,java.lang.String> parms)
Derive the resource string from the initialization parameters. If no parameter DEFINITIONS_CONFIG is available, attempts to retrieve LEGACY_DEFINITIONS_CONFIG. If niether are available, returns "/WEB-INF/tiles.xml".

Parameters:
parms - The initialization parameters.
Returns:
resource string to be parsed.

getResourceNames

protected java.util.List<java.lang.String> getResourceNames(java.lang.String resourceString)
Parse the resourceString into a list of resource paths which can be loaded by the application context.

Parameters:
resourceString - comma seperated resources
Returns:
parsed resources

isValidDefinition

public boolean isValidDefinition(java.lang.Object request,
                                 java.lang.Object response,
                                 java.lang.String definitionName)
Specified by:
isValidDefinition in interface org.apache.tiles.TilesContainer

isValidDefinition

public boolean isValidDefinition(javax.servlet.jsp.PageContext pageContext,
                                 java.lang.String definitionName)
Specified by:
isValidDefinition in interface org.apache.tiles.TilesContainer