|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.struts.tiles.xmlDefinition.FactorySet | +--org.apache.struts.tiles.xmlDefinition.I18nFactorySet
Definitions factory.
This implementation allows to have a set of definition factories.
There is a main factory and one factory for each file associated to a Locale.
To retrieve a definition, we first search for the appropriate factory using
the Locale found in session context. If no factory is found, use the
default one. Then we ask the factory for the definition.
A definition factory file is loaded using main filename extended with locale code
(ex : templateDefinitions_fr.xml
). If no file is found under this name, use default file.
Field Summary | |
static java.lang.String[] |
DEFAULT_DEFINITION_FILENAMES
Possible definition filenames. |
protected DefinitionsFactory |
defaultFactory
Default factory. |
static java.lang.String |
DEFINITIONS_CONFIG_PARAMETER_NAME
Config file parameter name. |
static java.lang.String |
FILENAME_EXTENSION
Default filenames extension. |
private java.util.List |
filenames
Names of files containing instances descriptions. |
static java.lang.String |
INSTANCES_CONFIG_PARAMETER_NAME
Deprecated. use DEFINITIONS_CONFIG_PARAMETER_NAME |
protected boolean |
isValidatingParser
Do we want validating parser. |
private java.util.Map |
loaded
Collection of already loaded definitions set, referenced by their suffix. |
protected static org.apache.commons.logging.Log |
log
Commons Logging instance. |
private static int |
MAX_BUNDLES_SEARCHED
Maximum length of one branch of the resource search path tree. |
static java.lang.String |
PARSER_DETAILS_PARAMETER_NAME
Config file parameter name. |
static java.lang.String |
PARSER_VALIDATE_PARAMETER_NAME
Config file parameter name. |
protected int |
parserDetailLevel
Parser detail level. |
protected XmlParser |
xmlParser
Xml parser used. |
Fields inherited from class org.apache.struts.tiles.xmlDefinition.FactorySet |
factories |
Constructor Summary | |
I18nFactorySet()
Parameterless Constructor. |
|
I18nFactorySet(javax.servlet.ServletContext servletContext,
java.util.Map properties)
Constructor. |
Method Summary | |
private static java.util.List |
calculatePostixes(java.lang.String baseName,
java.util.Locale locale)
Calculate the postixes along the search path from the base bundle to the bundle specified by baseName and locale. |
private java.lang.String |
concatPostfix(java.lang.String name,
java.lang.String postfix)
Concat postfix to the name. |
protected DefinitionsFactory |
createDefaultFactory(javax.servlet.ServletContext servletContext)
Create default factory . |
protected DefinitionsFactory |
createFactory(java.lang.Object key,
javax.servlet.ServletRequest request,
javax.servlet.ServletContext servletContext)
Create a factory for specified key. |
protected DefinitionsFactory |
getDefaultFactory()
Get default factory. |
protected java.lang.Object |
getDefinitionsFactoryKey(java.lang.String name,
javax.servlet.ServletRequest request,
javax.servlet.ServletContext servletContext)
Extract key that will be used to get the sub factory. |
void |
initFactory(javax.servlet.ServletContext servletContext,
java.util.Map properties)
Initialization method. |
protected void |
initFactory(javax.servlet.ServletContext servletContext,
java.lang.String proposedFilename)
Initialization method. |
private XmlDefinitionsSet |
parseXmlFile(javax.servlet.ServletContext servletContext,
java.lang.String filename,
XmlDefinitionsSet xmlDefinitions)
Parse specified xml file and add definition to specified definitions set. |
private XmlDefinitionsSet |
parseXmlFiles(javax.servlet.ServletContext servletContext,
java.lang.String postfix,
XmlDefinitionsSet xmlDefinitions)
Parse files associated to postix if they exist. |
java.lang.String |
toString()
Return String representation. |
Methods inherited from class org.apache.struts.tiles.xmlDefinition.FactorySet |
getDefinition, getFactory |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected static org.apache.commons.logging.Log log
public static final java.lang.String INSTANCES_CONFIG_PARAMETER_NAME
public static final java.lang.String DEFINITIONS_CONFIG_PARAMETER_NAME
public static final java.lang.String PARSER_DETAILS_PARAMETER_NAME
public static final java.lang.String PARSER_VALIDATE_PARAMETER_NAME
public static final java.lang.String[] DEFAULT_DEFINITION_FILENAMES
protected DefinitionsFactory defaultFactory
protected transient XmlParser xmlParser
protected boolean isValidatingParser
false
.
Can be set from servlet config file.
protected int parserDetailLevel
private static final int MAX_BUNDLES_SEARCHED
public static final java.lang.String FILENAME_EXTENSION
private java.util.List filenames
private java.util.Map loaded
Constructor Detail |
public I18nFactorySet()
initFactory(javax.servlet.ServletContext, java.util.Map)
must be called prior to any use of created factory.
public I18nFactorySet(javax.servlet.ServletContext servletContext, java.util.Map properties) throws DefinitionsFactoryException
servletContext
- Servlet context.properties
- Map containing all properties.
FactoryNotFoundException
- Can't find factory configuration file.
DefinitionsFactoryException
Method Detail |
public void initFactory(javax.servlet.ServletContext servletContext, java.util.Map properties) throws DefinitionsFactoryException
initFactory
in interface ComponentDefinitionsFactory
initFactory
in class FactorySet
servletContext
- Servlet Context passed to newly created factory.properties
- Map of name/property passed to newly created factory. Map can contains
more properties than requested.
DefinitionsFactoryException
- An error occur during initialization.protected void initFactory(javax.servlet.ServletContext servletContext, java.lang.String proposedFilename) throws DefinitionsFactoryException, java.io.FileNotFoundException
servletContext
- Servlet Context passed to newly created factory.proposedFilename
- File names, comma separated, to use as base file names.
DefinitionsFactoryException
- An error occur during initialization.
java.io.FileNotFoundException
protected DefinitionsFactory getDefaultFactory()
getDefaultFactory
in class FactorySet
protected DefinitionsFactory createDefaultFactory(javax.servlet.ServletContext servletContext) throws DefinitionsFactoryException, java.io.FileNotFoundException
servletContext
- Current servlet context. Used to open file.
DefinitionsFactoryException
- If an error occur while creating factory.
java.io.FileNotFoundException
- if factory can't be loaded from filenames.protected java.lang.Object getDefinitionsFactoryKey(java.lang.String name, javax.servlet.ServletRequest request, javax.servlet.ServletContext servletContext)
getDefinitionsFactoryKey
in class FactorySet
name
- Name of requested definitionrequest
- Current servlet request.servletContext
- Current servlet context.
null
if not found.protected DefinitionsFactory createFactory(java.lang.Object key, javax.servlet.ServletRequest request, javax.servlet.ServletContext servletContext) throws DefinitionsFactoryException
createFactory
in class FactorySet
key
- The key.request
- Servlet request.servletContext
- Servlet context.
DefinitionsFactoryException
- If an error occur while creating factory.private static java.util.List calculatePostixes(java.lang.String baseName, java.util.Locale locale)
baseName
- the base bundle namelocale
- the localeprivate XmlDefinitionsSet parseXmlFiles(javax.servlet.ServletContext servletContext, java.lang.String postfix, XmlDefinitionsSet xmlDefinitions) throws DefinitionsFactoryException
null
.
postfix
- Postfix to add to each description file.xmlDefinitions
- Definitions set to which definitions will be added. If null
, a definitions
set is created on request.
DefinitionsFactoryException
- On errors parsing file.private XmlDefinitionsSet parseXmlFile(javax.servlet.ServletContext servletContext, java.lang.String filename, XmlDefinitionsSet xmlDefinitions) throws DefinitionsFactoryException
null
, create a new set. Otherwise, return
passed definition set (can be null
).
servletContext
- Current servlet context. Used to open file.filename
- Name of file to parse.xmlDefinitions
- Definitions set to which definitions will be added. If null, a definitions
set is created on request.
DefinitionsFactoryException
- On errors parsing file.private java.lang.String concatPostfix(java.lang.String name, java.lang.String postfix)
name
- Filename.postfix
- Postfix to add.
public java.lang.String toString()
toString
in class FactorySet
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |