org.apache.tiles.definition
Interface DefinitionsFactory

Package class diagram package DefinitionsFactory
All Known Implementing Classes:
UrlDefinitionsFactory

public interface DefinitionsFactory

Interface for creating a ComponentDefinitions object and managing its contents.

DefinitionsFactory implementations are responsible for maintaining the data sources of Tiles configuration data and using the data to create ComponentDefinitions sets. Implementations also know how to append locale-specific configuration data to an existing ComponentDefinitions set.


Field Summary
static java.lang.String DEFINITIONS_IMPL_PROPERTY
          Property name that specifies the implementation of ComponentDefinitions.
static java.lang.String READER_IMPL_PROPERTY
          Property name that specifies the implementation of the DefinitionsReader.
 
Method Summary
 void addSource(java.lang.Object source)
          Adds a source where ComponentDefinition objects are stored.
 ComponentDefinition getDefinition(java.lang.String name, TilesRequestContext tilesContext)
          Returns a ComponentDefinition object that matches the given name and Tiles context
 void init(java.util.Map<java.lang.String,java.lang.String> params)
          Initializes the DefinitionsFactory and its subcomponents.
 ComponentDefinitions readDefinitions()
          Creates and returns a ComponentDefinitions set by reading configuration data from the applied sources.
 

Field Detail

READER_IMPL_PROPERTY

static final java.lang.String READER_IMPL_PROPERTY
Property name that specifies the implementation of the DefinitionsReader.

See Also:
Constant Field Values

DEFINITIONS_IMPL_PROPERTY

static final java.lang.String DEFINITIONS_IMPL_PROPERTY
Property name that specifies the implementation of ComponentDefinitions.

See Also:
Constant Field Values
Method Detail

init

void init(java.util.Map<java.lang.String,java.lang.String> params)
          throws DefinitionsFactoryException,
                 org.apache.tiles.TilesException
Initializes the DefinitionsFactory and its subcomponents.

Implementations may support configuration properties to be passed in via the params Map.

Parameters:
params - The Map of configuration properties.
Throws:
DefinitionsFactoryException - if an initialization error occurs.
org.apache.tiles.TilesException

getDefinition

ComponentDefinition getDefinition(java.lang.String name,
                                  TilesRequestContext tilesContext)
                                  throws DefinitionsFactoryException
Returns a ComponentDefinition object that matches the given name and Tiles context

Parameters:
name - The name of the ComponentDefinition to return.
tilesContext - The Tiles context to use to resolve the definition.
Returns:
the ComponentDefinition matching the given name or null if none is found.
Throws:
DefinitionsFactoryException - if an error occurs reading definitions.

addSource

void addSource(java.lang.Object source)
               throws DefinitionsFactoryException
Adds a source where ComponentDefinition objects are stored.

Implementations should publish what type of source object they expect. The source should contain enough information to resolve a configuration source containing definitions. The source should be a "base" source for configurations. Internationalization and Localization properties will be applied by implementations to discriminate the correct data sources based on locale.

Parameters:
source - The configuration source for definitions.
Throws:
DefinitionsFactoryException - if an invalid source is passed in or an error occurs resolving the source to an actual data store.

readDefinitions

ComponentDefinitions readDefinitions()
                                     throws DefinitionsFactoryException
Creates and returns a ComponentDefinitions set by reading configuration data from the applied sources.

Throws:
DefinitionsFactoryException - if an error occurs reading the sources.