org.picocontainer.gems.monitors
Class CommonsLoggingComponentMonitor

java.lang.Object
  extended by org.picocontainer.gems.monitors.CommonsLoggingComponentMonitor
All Implemented Interfaces:
Serializable, ComponentMonitor

public class CommonsLoggingComponentMonitor
extends Object
implements ComponentMonitor, Serializable

A ComponentMonitor which writes to a Commons Logging Log instance. The Log instance can either be injected or, if not set, the LogFactory will be used to retrieve it at every invocation of the monitor.

Note on Serialization

Commons Logging does not guarantee Serialization. It is supported when using Log4j as a back end, but you should write a test case to determine if your particular logger implementation is supported if you plan on serializing this ComponentMonitor.

Author:
Paul Hammant, Mauro Talevi
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.picocontainer.ComponentMonitor
KEEP
 
Constructor Summary
CommonsLoggingComponentMonitor()
          Creates a CommonsLoggingComponentMonitor with no Log instance set.
CommonsLoggingComponentMonitor(Class<?> logClass)
          Creates a CommonsLoggingComponentMonitor with a given Log instance class.
CommonsLoggingComponentMonitor(Class<?> logClass, ComponentMonitor delegate)
          Creates a CommonsLoggingComponentMonitor with a given Log instance class.
CommonsLoggingComponentMonitor(Log log)
          Creates a CommonsLoggingComponentMonitor with a given Log instance
CommonsLoggingComponentMonitor(Log log, ComponentMonitor delegate)
          Creates a CommonsLoggingComponentMonitor with a given Log instance.
CommonsLoggingComponentMonitor(String logName)
          Creates a CommonsLoggingComponentMonitor with a given Log instance name.
CommonsLoggingComponentMonitor(String logName, ComponentMonitor delegate)
          Creates a CommonsLoggingComponentMonitor with a given Log instance name.
 
Method Summary
protected  Log getLog(Member member)
          Retrieves the logger appropriate for the calling member's class.
<T> void
instantiated(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor, Object instantiated, Object[] parameters, long duration)
          
<T> Constructor<T>
instantiating(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor)
          
<T> void
instantiationFailed(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor, Exception cause)
          
 void invocationFailed(Member member, Object instance, Exception cause)
          
 void invoked(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, long duration, Object[] args, Object retVal)
          
 Object invoking(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, Object[] args)
          
 void lifecycleInvocationFailed(MutablePicoContainer container, ComponentAdapter<?> componentAdapter, Method method, Object instance, RuntimeException cause)
          
 Behavior newBehavior(Behavior behavior)
          
 Injector newInjector(Injector injector)
          
 Object noComponentFound(MutablePicoContainer container, Object componentKey)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor()
Creates a CommonsLoggingComponentMonitor with no Log instance set. The LogFactory will be used to retrieve the Log instance at every invocation of the monitor.


CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(Class<?> logClass)
Creates a CommonsLoggingComponentMonitor with a given Log instance class. The class name is used to retrieve the Log instance.

Parameters:
logClass - the class of the Log

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(String logName)
Creates a CommonsLoggingComponentMonitor with a given Log instance name. It uses the LogFactory to create the Log instance.

Parameters:
logName - the name of the Log

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(Log log)
Creates a CommonsLoggingComponentMonitor with a given Log instance

Parameters:
log - the Log to write to

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(Class<?> logClass,
                                      ComponentMonitor delegate)
Creates a CommonsLoggingComponentMonitor with a given Log instance class. The class name is used to retrieve the Log instance.

Parameters:
logClass - the class of the Log
delegate - the delegate

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(String logName,
                                      ComponentMonitor delegate)
Creates a CommonsLoggingComponentMonitor with a given Log instance name. It uses the LogFactory to create the Log instance.

Parameters:
logName - the name of the Log
delegate - the delegate

CommonsLoggingComponentMonitor

public CommonsLoggingComponentMonitor(Log log,
                                      ComponentMonitor delegate)
Creates a CommonsLoggingComponentMonitor with a given Log instance.

Parameters:
log - the Log with which to write events.
delegate - the delegate
Method Detail

instantiating

public <T> Constructor<T> instantiating(PicoContainer container,
                                        ComponentAdapter<T> componentAdapter,
                                        Constructor<T> constructor)

Specified by:
instantiating in interface ComponentMonitor

instantiated

public <T> void instantiated(PicoContainer container,
                             ComponentAdapter<T> componentAdapter,
                             Constructor<T> constructor,
                             Object instantiated,
                             Object[] parameters,
                             long duration)

Specified by:
instantiated in interface ComponentMonitor

instantiationFailed

public <T> void instantiationFailed(PicoContainer container,
                                    ComponentAdapter<T> componentAdapter,
                                    Constructor<T> constructor,
                                    Exception cause)

Specified by:
instantiationFailed in interface ComponentMonitor

invoking

public Object invoking(PicoContainer container,
                       ComponentAdapter<?> componentAdapter,
                       Member member,
                       Object instance,
                       Object[] args)

Specified by:
invoking in interface ComponentMonitor

invoked

public void invoked(PicoContainer container,
                    ComponentAdapter<?> componentAdapter,
                    Member member,
                    Object instance,
                    long duration,
                    Object[] args,
                    Object retVal)

Specified by:
invoked in interface ComponentMonitor

invocationFailed

public void invocationFailed(Member member,
                             Object instance,
                             Exception cause)

Specified by:
invocationFailed in interface ComponentMonitor

lifecycleInvocationFailed

public void lifecycleInvocationFailed(MutablePicoContainer container,
                                      ComponentAdapter<?> componentAdapter,
                                      Method method,
                                      Object instance,
                                      RuntimeException cause)

Specified by:
lifecycleInvocationFailed in interface ComponentMonitor

noComponentFound

public Object noComponentFound(MutablePicoContainer container,
                               Object componentKey)

Specified by:
noComponentFound in interface ComponentMonitor

newInjector

public Injector newInjector(Injector injector)

Specified by:
newInjector in interface ComponentMonitor

newBehavior

public Behavior newBehavior(Behavior behavior)

Specified by:
newBehavior in interface ComponentMonitor

getLog

protected Log getLog(Member member)
Retrieves the logger appropriate for the calling member's class.

Parameters:
member - constructor/method/field who's callback is required.
Returns:
the Commons logging instance.


Copyright © 2003-2010 Codehaus. All Rights Reserved.