edu.indiana.dlib.metsnav.struts.tiles
Class MetsNavI18nFactorySet

java.lang.Object
  extended by FactorySet
      extended by edu.indiana.dlib.metsnav.struts.tiles.MetsNavI18nFactorySet

public class MetsNavI18nFactorySet
extends FactorySet

Author:
David Jiao

Field Summary
static String[] DEFAULT_DEFINITION_FILENAMES
          Possible definition filenames.
protected  MetsNavDefinitionsFactory defaultFactory
          Default factory.
static String DEFINITIONS_CONFIG_PARAMETER_NAME
          Config file parameter name.
static String FILENAME_EXTENSION
          Default filenames extension.
protected  boolean isValidatingParser
          Do we want validating parser.
protected static Log log
          Commons Logging instance.
static String PARSER_DETAILS_PARAMETER_NAME
          Config file parameter name.
static String PARSER_VALIDATE_PARAMETER_NAME
          Config file parameter name.
protected  int parserDetailLevel
          Parser detail level.
protected  XmlParser xmlParser
          XML parser used.
 
Constructor Summary
MetsNavI18nFactorySet()
          Parameterless Constructor.
MetsNavI18nFactorySet(ServletContext servletContext, Map properties)
          Constructor.
 
Method Summary
protected  MetsNavDefinitionsFactory createDefaultFactory(ServletContext servletContext)
          Create default factory .
protected  DefinitionsFactory createFactory(Object key, ServletRequest request, ServletContext servletContext)
          Create a factory for specified key.
 DefinitionsFactory getDefaultFactory()
          Get default factory.
 ComponentDefinition getDefinition(String name, ServletRequest request, ServletContext servletContext)
          Get a definition by its name.
protected  Object getDefinitionsFactoryKey(String name, ServletRequest request, ServletContext servletContext)
          Extract key that will be used to get the sub factory.
 void initFactory(ServletContext servletContext, Map properties)
          Initialization method.
protected  void initFactory(ServletContext servletContext, String proposedFilename)
          Initialization method.
 String toString()
          Return String representation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_DEFINITION_FILENAMES

public static final String[] DEFAULT_DEFINITION_FILENAMES
Possible definition filenames.


DEFINITIONS_CONFIG_PARAMETER_NAME

public static final String DEFINITIONS_CONFIG_PARAMETER_NAME
Config file parameter name.

See Also:
Constant Field Values

FILENAME_EXTENSION

public static final String FILENAME_EXTENSION
Default filenames extension.

See Also:
Constant Field Values

log

protected static Log log
Commons Logging instance.


PARSER_DETAILS_PARAMETER_NAME

public static final String PARSER_DETAILS_PARAMETER_NAME
Config file parameter name.

See Also:
Constant Field Values

PARSER_VALIDATE_PARAMETER_NAME

public static final String PARSER_VALIDATE_PARAMETER_NAME
Config file parameter name.

See Also:
Constant Field Values

defaultFactory

protected MetsNavDefinitionsFactory defaultFactory
Default factory.


isValidatingParser

protected boolean isValidatingParser
Do we want validating parser. Default is false. Can be set from servlet config file.


parserDetailLevel

protected int parserDetailLevel
Parser detail level. Default is 0. Can be set from servlet config file.


xmlParser

protected transient XmlParser xmlParser
XML parser used. Attribute is transient to allow serialization. In this implementaiton, xmlParser is created each time we need it ;-(.

Constructor Detail

MetsNavI18nFactorySet

public MetsNavI18nFactorySet()
Parameterless Constructor. Method initFactory(ServletContext, java.util.Map)must be called prior to any use of created factory.


MetsNavI18nFactorySet

public MetsNavI18nFactorySet(ServletContext servletContext,
                             Map properties)
                      throws DefinitionsFactoryException
Constructor. Init the factory by reading appropriate configuration file.

Parameters:
servletContext - Servlet context.
properties - Map containing all properties.
Throws:
FactoryNotFoundException - Can't find factory configuration file.
DefinitionsFactoryException
Method Detail

createDefaultFactory

protected MetsNavDefinitionsFactory createDefaultFactory(ServletContext servletContext)
                                                  throws DefinitionsFactoryException,
                                                         FileNotFoundException
Create default factory . Create InstancesMapper for specified Locale. If creation failes, use default mapper and log error message.

Parameters:
servletContext - Current servlet context. Used to open file.
Returns:
Created default definition factory.
Throws:
DefinitionsFactoryException - If an error occur while creating factory.
FileNotFoundException - if factory can't be loaded from filenames.

createFactory

protected DefinitionsFactory createFactory(Object key,
                                           ServletRequest request,
                                           ServletContext servletContext)
                                    throws DefinitionsFactoryException
Create a factory for specified key. If creation failes, return default factory and log an error message.

Parameters:
key - The key.
request - Servlet request.
servletContext - Servlet context.
Returns:
Definition factory for specified key.
Throws:
DefinitionsFactoryException - If an error occur while creating factory.

getDefaultFactory

public DefinitionsFactory getDefaultFactory()
Get default factory.

Returns:
Default factory

getDefinition

public ComponentDefinition getDefinition(String name,
                                         ServletRequest request,
                                         ServletContext servletContext)
                                  throws NoSuchDefinitionException,
                                         DefinitionsFactoryException
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 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:
the key or null if not found.

initFactory

public void initFactory(ServletContext servletContext,
                        Map properties)
                 throws DefinitionsFactoryException
Initialization method. Init the factory by reading appropriate configuration file. This method is called exactly once immediately after factory creation in case of internal creation (by DefinitionUtil).

Parameters:
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.
Throws:
DefinitionsFactoryException - An error occur during initialization.

initFactory

protected void initFactory(ServletContext servletContext,
                           String proposedFilename)
                    throws DefinitionsFactoryException,
                           FileNotFoundException
Initialization method. Init the factory by reading appropriate configuration file. This method is called exactly once immediately after factory creation in case of internal creation (by DefinitionUtil).

Parameters:
servletContext - Servlet Context passed to newly created factory.
proposedFilename - File names, comma separated, to use as base file names.
Throws:
DefinitionsFactoryException - An error occur during initialization.
FileNotFoundException

toString

public String toString()
Return String representation.

Returns:
String representation.


Copyright © 2005 Trustees of Indiana University. All Rights Reserved.