public class Log4jTracingContainerDecorator
extends java.lang.Object
implements org.picocontainer.MutablePicoContainer, java.io.Serializable
By default, this class uses org.picocontainer.PicoContainer as its logging category, however, this may be changed by providing the logger in its alternate constructor.
Start and Stop events are logged under info priority, as are all conditions where querying for an object returns a null object (e.g., getComponentAdapter(Object) returns null). All other functions use debug priority.
If used in nanocontainer, you can add wrap your PicoContainer with the Log4jTracingContainerDecorator: (Groovy Example)
pico = builder.container(parent: parent) {
//component(.....)
//And others.
}
//Wrap the underlying NanoContainer with a Decorated Pico.
pico = new org.picocontainer.gems.containers.Log4jTracingContainerDecorator (pico.getPico())
| Modifier and Type | Field and Description |
|---|---|
private org.picocontainer.MutablePicoContainer |
delegate
Wrapped container.
|
private org.apache.log4j.Logger |
logger
Logger instance used for writing events.
|
| Constructor and Description |
|---|
Log4jTracingContainerDecorator(org.picocontainer.MutablePicoContainer delegate)
Default typical wrapper that wraps another MutablePicoContainer.
|
Log4jTracingContainerDecorator(org.picocontainer.MutablePicoContainer delegate,
org.apache.log4j.Logger logger)
Alternate constructor that allows specification of the Logger to use.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(org.picocontainer.PicoVisitor visitor) |
boolean |
addChildContainer(org.picocontainer.PicoContainer child) |
void |
dispose() |
org.picocontainer.ComponentAdapter |
getComponentAdapter(java.lang.Object componentKey) |
org.picocontainer.ComponentAdapter |
getComponentAdapterOfType(java.lang.Class componentType) |
java.util.Collection |
getComponentAdapters() |
java.util.List |
getComponentAdaptersOfType(java.lang.Class componentType) |
java.lang.Object |
getComponentInstance(java.lang.Object componentKey) |
java.lang.Object |
getComponentInstanceOfType(java.lang.Class componentType) |
java.util.List |
getComponentInstances() |
java.util.List |
getComponentInstancesOfType(java.lang.Class componentType) |
org.apache.log4j.Logger |
getLoggerUsed()
Retrieves the logger instance used by this decorator.
|
org.picocontainer.PicoContainer |
getParent() |
org.picocontainer.MutablePicoContainer |
makeChildContainer() |
protected void |
onKeyDoesntExistInContainer(java.lang.Object componentKey,
org.apache.log4j.Logger target)
Standard message handling for cases when a null object is returned for a
given key.
|
private void |
readObject(java.io.ObjectInputStream s) |
org.picocontainer.ComponentAdapter |
registerComponent(org.picocontainer.ComponentAdapter componentAdapter) |
org.picocontainer.ComponentAdapter |
registerComponentImplementation(java.lang.Class componentImplementation) |
org.picocontainer.ComponentAdapter |
registerComponentImplementation(java.lang.Object componentKey,
java.lang.Class componentImplementation) |
org.picocontainer.ComponentAdapter |
registerComponentImplementation(java.lang.Object componentKey,
java.lang.Class componentImplementation,
org.picocontainer.Parameter[] parameters) |
org.picocontainer.ComponentAdapter |
registerComponentInstance(java.lang.Object componentInstance) |
org.picocontainer.ComponentAdapter |
registerComponentInstance(java.lang.Object componentKey,
java.lang.Object componentInstance) |
boolean |
removeChildContainer(org.picocontainer.PicoContainer child) |
void |
start() |
void |
stop() |
org.picocontainer.ComponentAdapter |
unregisterComponent(java.lang.Object componentKey) |
org.picocontainer.ComponentAdapter |
unregisterComponentByInstance(java.lang.Object componentInstance) |
void |
verify()
Deprecated.
|
private void |
writeObject(java.io.ObjectOutputStream s) |
private final org.picocontainer.MutablePicoContainer delegate
private transient org.apache.log4j.Logger logger
public Log4jTracingContainerDecorator(org.picocontainer.MutablePicoContainer delegate)
delegate - Container to be decorated.java.lang.NullPointerException - if delegate is null.public Log4jTracingContainerDecorator(org.picocontainer.MutablePicoContainer delegate,
org.apache.log4j.Logger logger)
delegate - Container to be decorated.logger - specific Log4j Logger to use.java.lang.NullPointerException - if delegate or logger is null.protected void onKeyDoesntExistInContainer(java.lang.Object componentKey,
org.apache.log4j.Logger target)
componentKey - target - public void accept(org.picocontainer.PicoVisitor visitor)
accept in interface org.picocontainer.PicoContainervisitor - PicoContainer.accept(org.picocontainer.PicoVisitor)public boolean addChildContainer(org.picocontainer.PicoContainer child)
addChildContainer in interface org.picocontainer.MutablePicoContainerchild - MutablePicoContainer.addChildContainer(org.picocontainer.PicoContainer)public void dispose()
dispose in interface org.picocontainer.DisposableDisposable.dispose()public org.picocontainer.ComponentAdapter getComponentAdapter(java.lang.Object componentKey)
getComponentAdapter in interface org.picocontainer.PicoContainercomponentKey - PicoContainer.getComponentAdapter(java.lang.Object)public org.picocontainer.ComponentAdapter getComponentAdapterOfType(java.lang.Class componentType)
getComponentAdapterOfType in interface org.picocontainer.PicoContainercomponentType - PicoContainer.getComponentAdapterOfType(java.lang.Class)public java.util.Collection getComponentAdapters()
getComponentAdapters in interface org.picocontainer.PicoContainerPicoContainer.getComponentAdapters()public java.util.List getComponentAdaptersOfType(java.lang.Class componentType)
getComponentAdaptersOfType in interface org.picocontainer.PicoContainercomponentType - PicoContainer.getComponentAdaptersOfType(java.lang.Class)public java.lang.Object getComponentInstance(java.lang.Object componentKey)
getComponentInstance in interface org.picocontainer.PicoContainercomponentKey - PicoContainer.getComponentInstance(java.lang.Object)public java.lang.Object getComponentInstanceOfType(java.lang.Class componentType)
getComponentInstanceOfType in interface org.picocontainer.PicoContainercomponentType - PicoContainer.getComponentInstanceOfType(java.lang.Class)public java.util.List getComponentInstances()
getComponentInstances in interface org.picocontainer.PicoContainerPicoContainer.getComponentInstances()public java.util.List getComponentInstancesOfType(java.lang.Class componentType)
getComponentInstancesOfType in interface org.picocontainer.PicoContainercomponentType - PicoContainer.getComponentInstancesOfType(java.lang.Class)public org.picocontainer.PicoContainer getParent()
getParent in interface org.picocontainer.PicoContainerPicoContainer.getParent()public org.picocontainer.MutablePicoContainer makeChildContainer()
makeChildContainer in interface org.picocontainer.MutablePicoContainerMutablePicoContainer.makeChildContainer()public org.picocontainer.ComponentAdapter registerComponent(org.picocontainer.ComponentAdapter componentAdapter)
registerComponent in interface org.picocontainer.MutablePicoContainercomponentAdapter - MutablePicoContainer.registerComponent(org.picocontainer.ComponentAdapter)public org.picocontainer.ComponentAdapter registerComponentImplementation(java.lang.Class componentImplementation)
registerComponentImplementation in interface org.picocontainer.MutablePicoContainercomponentImplementation - MutablePicoContainer.registerComponentImplementation(java.lang.Class)public org.picocontainer.ComponentAdapter registerComponentImplementation(java.lang.Object componentKey,
java.lang.Class componentImplementation,
org.picocontainer.Parameter[] parameters)
registerComponentImplementation in interface org.picocontainer.MutablePicoContainercomponentKey - componentImplementation - parameters - MutablePicoContainer.registerComponentImplementation(java.lang.Object,
java.lang.Class, org.picocontainer.Parameter[])public org.picocontainer.ComponentAdapter registerComponentImplementation(java.lang.Object componentKey,
java.lang.Class componentImplementation)
registerComponentImplementation in interface org.picocontainer.MutablePicoContainercomponentKey - componentImplementation - MutablePicoContainer.registerComponentImplementation(java.lang.Object,
java.lang.Class)public org.picocontainer.ComponentAdapter registerComponentInstance(java.lang.Object componentKey,
java.lang.Object componentInstance)
registerComponentInstance in interface org.picocontainer.MutablePicoContainercomponentKey - componentInstance - MutablePicoContainer.registerComponentInstance(java.lang.Object,
java.lang.Object)public org.picocontainer.ComponentAdapter registerComponentInstance(java.lang.Object componentInstance)
registerComponentInstance in interface org.picocontainer.MutablePicoContainercomponentInstance - MutablePicoContainer.registerComponentInstance(java.lang.Object)public boolean removeChildContainer(org.picocontainer.PicoContainer child)
removeChildContainer in interface org.picocontainer.MutablePicoContainerchild - MutablePicoContainer.removeChildContainer(org.picocontainer.PicoContainer)public void start()
start in interface org.picocontainer.StartableStartable.start()public void stop()
stop in interface org.picocontainer.StartableStartable.stop()public org.picocontainer.ComponentAdapter unregisterComponent(java.lang.Object componentKey)
unregisterComponent in interface org.picocontainer.MutablePicoContainercomponentKey - MutablePicoContainer.unregisterComponent(java.lang.Object)public org.picocontainer.ComponentAdapter unregisterComponentByInstance(java.lang.Object componentInstance)
unregisterComponentByInstance in interface org.picocontainer.MutablePicoContainercomponentInstance - MutablePicoContainer.unregisterComponentByInstance(java.lang.Object)public void verify()
throws org.picocontainer.PicoVerificationException
verify in interface org.picocontainer.PicoContainerorg.picocontainer.PicoVerificationExceptionPicoContainer.verify()public org.apache.log4j.Logger getLoggerUsed()
private void readObject(java.io.ObjectInputStream s)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException
java.io.IOException