org.codehaus.plexus.component.manager
Class ClassicSingletonComponentManager

java.lang.Object
  extended by org.codehaus.plexus.component.manager.AbstractComponentManager
      extended by org.codehaus.plexus.component.manager.ClassicSingletonComponentManager
All Implemented Interfaces:
Cloneable, ComponentManager

public class ClassicSingletonComponentManager
extends AbstractComponentManager

This ensures only a single manager of a a component exists. Once no more connections for this component exists it is disposed.

Version:
$Id: ClassicSingletonComponentManager.java 7033 2007-11-01 22:43:18Z jdcasey $
Author:
Jason van Zyl, Bert van Brakel

Field Summary
 
Fields inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager
builder, componentContextRealms, componentDescriptor, container
 
Fields inherited from interface org.codehaus.plexus.component.manager.ComponentManager
ROLE
 
Constructor Summary
ClassicSingletonComponentManager()
           
 
Method Summary
 void dispose()
           
 void dissociateComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
           
protected  Object findSingleton(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
           
protected  Object findSingleton(Object component)
           
 Object getComponent(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
           
 String getId()
           
 void initialize()
           
 void release(Object component)
           
 
Methods inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager
connected, copy, createComponentBuilder, createComponentInstance, decrementConnectionCount, endComponentLifecycle, getComponent, getComponentDescriptor, getConnections, getContainer, getLifecycleHandler, getLogger, incrementConnectionCount, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassicSingletonComponentManager

public ClassicSingletonComponentManager()
Method Detail

getId

public String getId()

release

public void release(Object component)
             throws ComponentLifecycleException
Throws:
ComponentLifecycleException

dispose

public void dispose()
             throws ComponentLifecycleException
Throws:
ComponentLifecycleException

getComponent

public Object getComponent(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
                    throws ComponentInstantiationException,
                           ComponentLifecycleException
Throws:
ComponentInstantiationException
ComponentLifecycleException

findSingleton

protected Object findSingleton(org.codehaus.plexus.classworlds.realm.ClassRealm realm)

findSingleton

protected Object findSingleton(Object component)

initialize

public void initialize()
Specified by:
initialize in interface ComponentManager
Overrides:
initialize in class AbstractComponentManager

dissociateComponentRealm

public void dissociateComponentRealm(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
                              throws ComponentLifecycleException
Specified by:
dissociateComponentRealm in interface ComponentManager
Overrides:
dissociateComponentRealm in class AbstractComponentManager
Throws:
ComponentLifecycleException


Copyright © 2001-2008 Codehaus. All Rights Reserved.