org.objectweb.util.monolog.wrapper.common
Class AbstractFactory

java.lang.Object
  extended by org.objectweb.util.monolog.wrapper.common.AbstractFactory
All Implemented Interfaces:
HandlerFactory, LevelFactory, LoggerFactory, MonologFactory, Configurable
Direct Known Subclasses:
LoggerFactory, MonologLoggerFactory

public abstract class AbstractFactory
extends java.lang.Object
implements MonologFactory, Configurable

Author:
S.Chassande-Barrioz

Field Summary
static boolean debug
          Inidicates if the monolog wrapper must be logged itself.
protected  java.util.Map handlers
          This field references the handler instance by their names.
key = a String object which is an handler name.
static java.lang.String[][] handlerType2className
           
static java.lang.String[] handlerTypes
           
protected  java.util.Map intToNames
          This field reference the level names by their integer value.
key = a java.lang.Integer which the value is the level
value = a String or an ArrayList of String.
protected  java.util.Collection monologFactoryListeners
          This field references the MonolgFactoryListener instance by their names.
key = a String object which is an handler name.
protected  java.util.Map nameToLevel
          This field references the level instances by their names.
key = a level name
value = the unique Level instance linked to the name.
protected  java.lang.String resourceBundleName
          The default resource bundle of this factory
 
Constructor Summary
AbstractFactory()
          It initializes the default monolog level: INHERIT, DEBUG, INFO, WARN, ERROR, FATAL
 
Method Summary
 void addMonologFactoryListener(MonologFactoryListener mfl)
          register a listener for the events of this MonologFactory
abstract  void configure(java.util.Properties prop)
          This method permits to order to a monolog wrapper to configure the underlying log system.
 Handler createHandler(java.lang.String hn, java.lang.String handlertype)
          It retrieves a new instance of an handler which the type is specified by the parameter.
static void debug(java.lang.String m)
          This method must be only used to debug the Monolog wrappers.
 Level defineLevel(java.lang.String name, int value)
          It defines a new Level with a name and an integer value.
 Level defineLevel(java.lang.String name, java.lang.String value)
          It defines a new Level with a name and a string value.
protected abstract  java.lang.String[][] getDefaultHandlerType2className()
           
 Handler getHandler(java.lang.String hn)
          It retrieves the handler which the name is specified by the parameter
 Handler[] getHandlers()
          It retrieves all handler managed by this factory.
 Level getLevel(int value)
          It retrieves a Level instance which the integer value is equals to the parameter.
 Level getLevel(java.lang.String name)
          It retrieves a Level instance which the name is equals to the parameter.
 Level[] getLevels()
          It retrieves all Level instances defined in this manager.
abstract  Logger getLogger(java.lang.String key)
          This method permits to fetch a Logger.
abstract  Logger[] getLoggers()
          It retrieves a list of all loggers.
 java.lang.String getResourceBundleName()
          Accessors to a resource bundle name associated to a LoggerFactory.
abstract  java.lang.String getWrapperName()
           
protected  void initHandlerType2className()
           
 Handler removeHandler(java.lang.String hn)
          It removes the handler which the name is specified by the parameter
 void removeLevel(java.lang.String name)
          It removes a Level instance to this manager.
 void removeMonologFactoryListener(MonologFactoryListener mfl)
          forget a listener for the events of this MonologFactory
 void setResourceBundleName(java.lang.String rbn)
          Accessors to a resource bundle name associated to a LoggerFactory.
static void warn(java.lang.String m)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

handlerTypes

public static java.lang.String[] handlerTypes

handlerType2className

public static java.lang.String[][] handlerType2className

debug

public static boolean debug
Inidicates if the monolog wrapper must be logged itself.


resourceBundleName

protected java.lang.String resourceBundleName
The default resource bundle of this factory


nameToLevel

protected java.util.Map nameToLevel
This field references the level instances by their names.
key = a level name
value = the unique Level instance linked to the name.


intToNames

protected java.util.Map intToNames
This field reference the level names by their integer value.
key = a java.lang.Integer which the value is the level
value = a String or an ArrayList of String. The strings represent the name which match to the integer value. Indeed both name can be associated to the same integer value.


handlers

protected java.util.Map handlers
This field references the handler instance by their names.
key = a String object which is an handler name. value = the unique handler instance which has the key for name.


monologFactoryListeners

protected java.util.Collection monologFactoryListeners
This field references the MonolgFactoryListener instance by their names.
key = a String object which is an handler name. value = the unique handler instance which has the key for name.

Constructor Detail

AbstractFactory

public AbstractFactory()
It initializes the default monolog level: INHERIT, DEBUG, INFO, WARN, ERROR, FATAL

Method Detail

debug

public static void debug(java.lang.String m)
This method must be only used to debug the Monolog wrappers. To active the log of monolog assign the "true" value to the system property "monolog.debug".

Parameters:
m - the message to log.

warn

public static void warn(java.lang.String m)

getWrapperName

public abstract java.lang.String getWrapperName()

initHandlerType2className

protected void initHandlerType2className()

getDefaultHandlerType2className

protected abstract java.lang.String[][] getDefaultHandlerType2className()

configure

public abstract void configure(java.util.Properties prop)
                        throws java.lang.Exception
Description copied from interface: MonologFactory
This method permits to order to a monolog wrapper to configure the underlying log system.

Specified by:
configure in interface MonologFactory
Parameters:
prop - contains properties which describes the way to configure. In particular three properties could be used:
  • LOG_CONFIGURATION_TYPE
  • LOG_CONFIGURATION_FILE
  • LOG_CONFIGURATION_FILE_USE_CLASSPATH
    • Throws:
      java.lang.Exception

getLogger

public abstract Logger getLogger(java.lang.String key)
Description copied from interface: LoggerFactory
This method permits to fetch a Logger. If the Logger described by the parameters does not exist, then the LoggerFactory must return a new instance of Logger. The key parameter is a description of the expected Logger. In simple cases, the key is the initial topic of the Logger.

Specified by:
getLogger in interface LoggerFactory

getLoggers

public abstract Logger[] getLoggers()
Description copied from interface: LoggerFactory
It retrieves a list of all loggers.

Specified by:
getLoggers in interface LoggerFactory

getResourceBundleName

public java.lang.String getResourceBundleName()
Description copied from interface: LoggerFactory
Accessors to a resource bundle name associated to a LoggerFactory.

Specified by:
getResourceBundleName in interface LoggerFactory

setResourceBundleName

public void setResourceBundleName(java.lang.String rbn)
Description copied from interface: LoggerFactory
Accessors to a resource bundle name associated to a LoggerFactory.

Specified by:
setResourceBundleName in interface LoggerFactory

createHandler

public Handler createHandler(java.lang.String hn,
                             java.lang.String handlertype)
Description copied from interface: HandlerFactory
It retrieves a new instance of an handler which the type is specified by the parameter.

Specified by:
createHandler in interface HandlerFactory
handlertype - is the type of the parameter. The possible value are defined in this interface by the XXX_HANDLER_TYPE constants.
Returns:
a new instance of an handler

getHandlers

public Handler[] getHandlers()
Description copied from interface: HandlerFactory
It retrieves all handler managed by this factory.

Specified by:
getHandlers in interface HandlerFactory
Returns:
a set of Handler instance or an empty set.

getHandler

public Handler getHandler(java.lang.String hn)
Description copied from interface: HandlerFactory
It retrieves the handler which the name is specified by the parameter

Specified by:
getHandler in interface HandlerFactory
Parameters:
hn - is the name of the handler
Returns:
an handler instance or a null value.

removeHandler

public Handler removeHandler(java.lang.String hn)
Description copied from interface: HandlerFactory
It removes the handler which the name is specified by the parameter

Specified by:
removeHandler in interface HandlerFactory
Parameters:
hn - is the name of the handler
Returns:
the removed handler instance or a null value if it does not exist.

defineLevel

public Level defineLevel(java.lang.String name,
                         int value)
Description copied from interface: LevelFactory
It defines a new Level with a name and an integer value.

Specified by:
defineLevel in interface LevelFactory
Parameters:
name - is the name of the new level
value - is the integer value of the new level
Returns:
a Level instance or a null value if It exists a Level with the same name but with another integer value.

defineLevel

public Level defineLevel(java.lang.String name,
                         java.lang.String value)
Description copied from interface: LevelFactory
It defines a new Level with a name and a string value. The string value is analyzed to obtain the integer value.

Specified by:
defineLevel in interface LevelFactory
Parameters:
name - is the name of the new level
value - is the string value of the new level
Returns:
a Level instance or a null value if It exists a Level with the same name but with another integer value.

getLevel

public Level getLevel(java.lang.String name)
Description copied from interface: LevelFactory
It retrieves a Level instance which the name is equals to the parameter.

Specified by:
getLevel in interface LevelFactory
Parameters:
name - is the name of request Level
Returns:
a Leve instance or a null value if the level does not exist.

getLevel

public Level getLevel(int value)
Description copied from interface: LevelFactory
It retrieves a Level instance which the integer value is equals to the parameter.

Specified by:
getLevel in interface LevelFactory
Parameters:
value - is the integer value of request Level
Returns:
a Leve instance or a null value if the level does not exist. As it is possible to define several Levels which have the same integer value this methods returns the Level instance of first name found in the list.

getLevels

public Level[] getLevels()
Description copied from interface: LevelFactory
It retrieves all Level instances defined in this manager.

Specified by:
getLevels in interface LevelFactory

removeLevel

public void removeLevel(java.lang.String name)
Description copied from interface: LevelFactory
It removes a Level instance to this manager.

Specified by:
removeLevel in interface LevelFactory

addMonologFactoryListener

public void addMonologFactoryListener(MonologFactoryListener mfl)
Description copied from interface: MonologFactory
register a listener for the events of this MonologFactory

Specified by:
addMonologFactoryListener in interface MonologFactory

removeMonologFactoryListener

public void removeMonologFactoryListener(MonologFactoryListener mfl)
Description copied from interface: MonologFactory
forget a listener for the events of this MonologFactory

Specified by:
removeMonologFactoryListener in interface MonologFactory