org.apache.tiles.impl.mgmt
Class CachingTilesContainer

Package class diagram package CachingTilesContainer
java.lang.Object
  extended by org.apache.tiles.impl.BasicTilesContainer
      extended by org.apache.tiles.impl.mgmt.CachingTilesContainer
All Implemented Interfaces:
org.apache.tiles.mgmt.MutableTilesContainer, org.apache.tiles.TilesContainer

public class CachingTilesContainer
extends BasicTilesContainer
implements org.apache.tiles.mgmt.MutableTilesContainer

Mutable container which caches (in memory) the definitions registered to it. If a definition is not found in cache, it will revert back to it's definitions factory.

Since:
Tiles 2.0

Field Summary
 
Fields inherited from class org.apache.tiles.impl.BasicTilesContainer
DEFINITIONS_CONFIG
 
Constructor Summary
CachingTilesContainer()
           
 
Method Summary
protected  org.apache.tiles.Definition getDefinition(java.lang.String definition, TilesRequestContext context)
          Returns a definition specifying its name.
 DefinitionsFactory getDefinitionsFactory()
          Returns the definitions factory.
 void register(org.apache.tiles.Definition definition, java.lang.Object... requestItems)
          
protected  void register(org.apache.tiles.Definition definition, TilesRequestContext request)
          Registers a custom definition.
 void setDefinitionsFactory(DefinitionsFactory definitionsFactory)
          Set the definitions factory.
 
Methods inherited from class org.apache.tiles.impl.BasicTilesContainer
checkInit, endContext, getApplicationContext, getAttributeContext, getContextFactory, getPreparerFactory, getResourceNames, getResourceString, getResourceString, init, initializeDefinitionsFactory, isValidDefinition, prepare, render, render, setApplicationContext, setContextFactory, setPreparerFactory, startContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.tiles.TilesContainer
endContext, getApplicationContext, getAttributeContext, init, isValidDefinition, prepare, render, render, startContext
 

Constructor Detail

CachingTilesContainer

public CachingTilesContainer()
Method Detail

register

public void register(org.apache.tiles.Definition definition,
                     java.lang.Object... requestItems)
              throws org.apache.tiles.TilesException

Specified by:
register in interface org.apache.tiles.mgmt.MutableTilesContainer
Throws:
org.apache.tiles.TilesException

getDefinition

protected org.apache.tiles.Definition getDefinition(java.lang.String definition,
                                                    TilesRequestContext context)
                                             throws DefinitionsFactoryException
Returns a definition specifying its name.

Overrides:
getDefinition in class BasicTilesContainer
Parameters:
definition - The name of the definition to find.
context - The request context.
Returns:
The definition, if found.
Throws:
DefinitionsFactoryException - If the definitions factory throws an exception.

getDefinitionsFactory

public DefinitionsFactory getDefinitionsFactory()
Returns the definitions factory.

Overrides:
getDefinitionsFactory in class BasicTilesContainer
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.

Overrides:
setDefinitionsFactory in class BasicTilesContainer
Parameters:
definitionsFactory - the definitions factory for this instance.

register

protected void register(org.apache.tiles.Definition definition,
                        TilesRequestContext request)
                 throws DefinitionsFactoryException
Registers a custom definition.

Parameters:
definition - The definition to register.
request - The request inside which the definition should be registered.
Throws:
DefinitionsFactoryException - If something goes wrong during adding a definition, such as missing parent definitions.