org.apache.struts.tiles.xmlDefinition

Class FactorySet

public abstract class FactorySet extends Object implements ComponentDefinitionsFactory

Component Definitions factory. This factory contains several factories identified by a key. The getDefinition() method first looks for the factory key, retrieves or creates this factory and then calls its getDefinition().
Field Summary
protected Mapfactories
Loaded factories
Constructor Summary
FactorySet()
Constructor.
Method Summary
protected abstract DefinitionsFactorycreateFactory(Object key, ServletRequest request, ServletContext servletContext)
Create a factory for specified key.
protected abstract DefinitionsFactorygetDefaultFactory()
Get default factory.
ComponentDefinitiongetDefinition(String name, ServletRequest request, ServletContext servletContext)
Get a definition by its name.
protected abstract ObjectgetDefinitionsFactoryKey(String name, ServletRequest request, ServletContext servletContext)
Extract key that will be used to get the sub factory.
protected DefinitionsFactorygetFactory(Object key, ServletRequest request, ServletContext servletContext)
Get a factory by its key.
abstract voidinitFactory(ServletContext servletContext, Map properties)
Init factory set.
StringtoString()
Return String representation.

Field Detail

factories

protected Map factories
Loaded factories

Constructor Detail

FactorySet

public FactorySet()
Constructor.

Method Detail

createFactory

protected abstract DefinitionsFactory createFactory(Object key, ServletRequest request, ServletContext servletContext)
Create a factory for specified key. This method is called by getFactory() when the requested factory doesn't already exist. Must return a factory, or a default one. Real implementation needs to provide this method.

Parameters: key Key of requested definition. request Current servlet request. servletContext Current servlet context

Throws: DefinitionsFactoryException If an error occur while creating factory.

getDefaultFactory

protected abstract DefinitionsFactory getDefaultFactory()
Get default factory.

Returns: Default factory.

getDefinition

public ComponentDefinition getDefinition(String name, ServletRequest request, ServletContext servletContext)
Get a definition by its name.

Parameters: name Name of requested definition. request Current servlet request. servletContext Current servlet context.

Throws: NoSuchDefinitionException No definition found for specified name DefinitionsFactoryException General exception

getDefinitionsFactoryKey

protected abstract Object getDefinitionsFactoryKey(String name, ServletRequest request, ServletContext servletContext)
Extract key that will be used to get the sub factory.

Parameters: name Name of requested definition. request Current servlet request. servletContext Current servlet context.

Returns: Object.

getFactory

protected DefinitionsFactory getFactory(Object key, ServletRequest request, ServletContext servletContext)
Get a factory by its key. If key is null, return defaultFactory. Search in loaded factories. If not found, create factory and store return value in loaded factories.

Parameters: key Key of requested definition. request Current servlet request. servletContext Current servlet context.

Throws: DefinitionsFactoryException If an error occur while creating factory.

initFactory

public abstract void initFactory(ServletContext servletContext, Map properties)
Init factory set.

Parameters: servletContext Current servlet context properties properties used to initialized factory set;

toString

public String toString()
Return String representation.

Returns: String representation.

Copyright B) 2000-2007 - The Apache Software Foundation