This project has retired. For details please refer to its Attic page.
CachingKeyedDefinitionsFactoryTilesContainer (Tiles 2 2.0.7 API)

org.apache.tiles.impl.mgmt
Class CachingKeyedDefinitionsFactoryTilesContainer

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

public class CachingKeyedDefinitionsFactoryTilesContainer
extends KeyedDefinitionsFactoryTilesContainer
implements MutableTilesContainer

Container that can be used to store multiple DefinitionsFactory instances mapped to different keys, with the addition of being "mutable", i.e. 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.

Version:
$Rev: 537196 $ $Date: 2007-05-11 16:07:35 +0200 (Fri, 11 May 2007) $

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer
KeyedDefinitionsFactoryTilesContainer.DefaultKeyExtractor, KeyedDefinitionsFactoryTilesContainer.KeyExtractor
 
Field Summary
 
Fields inherited from class org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer
DEFINITIONS_CONFIG_PREFIX, key2definitionsFactory, keyExtractor
 
Fields inherited from class org.apache.tiles.impl.BasicTilesContainer
DEFINITIONS_CONFIG
 
Constructor Summary
CachingKeyedDefinitionsFactoryTilesContainer()
           
 
Method Summary
protected  Definition getDefinition(String definition, TilesRequestContext context)
          Returns a definition specifying its name.
 DefinitionsFactory getDefinitionsFactory()
          Returns the definitions factory.
 DefinitionsFactory getDefinitionsFactory(String key)
          Returns a definition factory given its key.
protected  DefinitionManager getOrCreateDefinitionManager(String key)
          Returns a definition manager if found, otherwise it will create a new one.
protected  DefinitionManager getProperDefinitionManager(String key)
          Returns a definition manager if found.
 void register(Definition definition, Object... requestItems)
          Register a new definition with the container.
protected  void register(Definition definition, TilesRequestContext request)
          Registers a custom definition.
 void setDefinitionsFactory(DefinitionsFactory definitionsFactory)
          Set the definitions factory.
 void setDefinitionsFactory(String key, DefinitionsFactory definitionsFactory, Map<String,String> initParameters)
          Set the definitions factory.
 
Methods inherited from class org.apache.tiles.impl.KeyedDefinitionsFactoryTilesContainer
getDefinitionsFactoryKey, getProperDefinitionsFactory, setKeyExtractor
 
Methods inherited from class org.apache.tiles.impl.BasicTilesContainer
checkInit, endContext, getApplicationContext, getAttributeContext, getContext, getContextFactory, getContextStack, getPreparerFactory, getResourceNames, getResourceString, getResourceString, init, initializeDefinitionsFactory, isValidDefinition, popContext, prepare, pushContext, 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

CachingKeyedDefinitionsFactoryTilesContainer

public CachingKeyedDefinitionsFactoryTilesContainer()
Method Detail

register

public void register(Definition definition,
                     Object... requestItems)
              throws TilesException
Register a new definition with the container.

Specified by:
register in interface MutableTilesContainer
Parameters:
definition - The definition to register.
requestItems - the current request objects.
Throws:
TilesException - If something goes wrong during registration.

getDefinition

protected Definition getDefinition(String definition,
                                   TilesRequestContext context)
                            throws DefinitionsFactoryException
Returns a definition specifying its name.

Overrides:
getDefinition in class KeyedDefinitionsFactoryTilesContainer
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.

getDefinitionsFactory

public DefinitionsFactory getDefinitionsFactory(String key)
Returns a definition factory given its key.

Overrides:
getDefinitionsFactory in class KeyedDefinitionsFactoryTilesContainer
Parameters:
key - The key of the needed definitions factory.
Returns:
the definitions factory used by this container. If the key is not valid, the default factory will be returned.

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.

setDefinitionsFactory

public void setDefinitionsFactory(String key,
                                  DefinitionsFactory definitionsFactory,
                                  Map<String,String> initParameters)
                           throws TilesException
Set the definitions factory. This method first ensures that the container has not yet been initialized.

Overrides:
setDefinitionsFactory in class KeyedDefinitionsFactoryTilesContainer
Parameters:
key - The key under which the definitions factory is catalogued.
definitionsFactory - the definitions factory for this instance.
initParameters - The init parameters to configure the definitions factory.
Throws:
TilesException - If something goes wrong during initialization of the definitions factory.

register

protected void register(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.

getOrCreateDefinitionManager

protected DefinitionManager getOrCreateDefinitionManager(String key)
Returns a definition manager if found, otherwise it will create a new one.

Parameters:
key - The key of the definition manager.
Returns:
The needed definition manager.

getProperDefinitionManager

protected DefinitionManager getProperDefinitionManager(String key)
Returns a definition manager if found.

Parameters:
key - The key of the definition manager.
Returns:
The needed definition manager.


Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.