org.apache.avalon.fortress.impl.handler
Class PerThreadComponentHandler

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.apache.excalibur.instrument.AbstractLogEnabledInstrumentable
          extended byorg.apache.avalon.fortress.impl.handler.AbstractComponentHandler
              extended byorg.apache.avalon.fortress.impl.handler.PerThreadComponentHandler
All Implemented Interfaces:
ComponentHandler, Disposable, Initializable, Instrumentable, LogEnabled, Serviceable

public final class PerThreadComponentHandler
extends AbstractComponentHandler

The PerThreadComponentHandler implements a singleton with a slight difference: one single instance per thread.

Since:
4.0
Author:
Excalibur Development Team

Field Summary
 
Fields inherited from class org.apache.avalon.fortress.impl.handler.AbstractComponentHandler
m_disposed, m_factory, m_logger, m_loggerManager, m_prepared
 
Fields inherited from interface org.apache.excalibur.instrument.Instrumentable
EMPTY_INSTRUMENT_ARRAY, EMPTY_INSTRUMENTABLE_ARRAY
 
Constructor Summary
PerThreadComponentHandler()
           
 
Method Summary
protected  void doDispose()
          Dispose handler specific resources.
protected  java.lang.Object doGet()
          Get a reference of the desired Component
 void initialize()
          Initialize the component.
 
Methods inherited from class org.apache.avalon.fortress.impl.handler.AbstractComponentHandler
dispose, disposeComponent, doPrepare, doPut, get, getComponentClass, newComponent, prepareHandler, put, service, toString
 
Methods inherited from class org.apache.excalibur.instrument.AbstractLogEnabledInstrumentable
addChildInstrumentable, addInstrument, getChildInstrumentables, getInstrumentableName, getInstruments, setInstrumentableName
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PerThreadComponentHandler

public PerThreadComponentHandler()
Method Detail

initialize

public void initialize()
                throws java.lang.Exception
Description copied from interface: Initializable
Initialize the component. Initialization includes allocating any resources required throughout the component's lifecycle.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class AbstractComponentHandler
Throws:
java.lang.Exception

doGet

protected java.lang.Object doGet()
                          throws java.lang.Exception
Get a reference of the desired Component

Specified by:
doGet in class AbstractComponentHandler
Returns:
the service
Throws:
java.lang.Exception - if unable to aquire service

doDispose

protected void doDispose()
Description copied from class: AbstractComponentHandler
Dispose handler specific resources. Subclasses should overide this to provide their own funcitonality.

Overrides:
doDispose in class AbstractComponentHandler


Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.