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:
java.lang.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 5508 2007-01-24 03:16:53Z kenney $
Author:
Jason van Zyl, Bert van Brakel

Field Summary
 
Fields inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager
componentDescriptor, container
 
Fields inherited from interface org.codehaus.plexus.component.manager.ComponentManager
ROLE
 
Constructor Summary
ClassicSingletonComponentManager()
           
 
Method Summary
 void dispose()
           
protected  java.lang.Object findSingleton(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
           
protected  java.lang.Object findSingleton(java.lang.Object component)
           
 java.lang.Object getComponent(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
           
 void initialize()
           
 void release(java.lang.Object component)
           
 
Methods inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager
connected, copy, createComponentInstance, createComponentInstance, decrementConnectionCount, endComponentLifecycle, getComponent, getComponentDescriptor, getConnections, getContainer, getId, getLifecycleHandler, getLogger, incrementConnectionCount, resume, setup, startComponentLifecycle, suspend
 
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

release

public void release(java.lang.Object component)
             throws org.codehaus.plexus.component.repository.exception.ComponentLifecycleException
Throws:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException

dispose

public void dispose()
             throws org.codehaus.plexus.component.repository.exception.ComponentLifecycleException
Throws:
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException

getComponent

public java.lang.Object getComponent(org.codehaus.plexus.classworlds.realm.ClassRealm realm)
                              throws ComponentInstantiationException,
                                     org.codehaus.plexus.component.repository.exception.ComponentLifecycleException
Throws:
ComponentInstantiationException
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException

findSingleton

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

findSingleton

protected java.lang.Object findSingleton(java.lang.Object component)

initialize

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


Copyright © 2001-2007 Codehaus. All Rights Reserved.