org.codehaus.plexus.component.manager

Class KeepAliveSingletonComponentManager

Implemented Interfaces:
Cloneable, ComponentManager

public class KeepAliveSingletonComponentManager
extends AbstractComponentManager

This ensures a component is only used as a singleton, and is only shutdown when the container shuts down.
Version:
$Id: KeepAliveSingletonComponentManager.java 1750 2005-04-19 07:45:02Z brett $
Author:
Bert van Brakel

Field Summary

private Object
lock
private Object
singleton

Fields inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager

componentDescriptor, connections, container, id, lifecycleHandler

Fields inherited from interface org.codehaus.plexus.component.manager.ComponentManager

ROLE

Method Summary

void
dispose()
Object
getComponent()
void
release(Object component)

Methods inherited from class org.codehaus.plexus.component.manager.AbstractComponentManager

connected, copy, createComponentInstance, decrementConnectionCount, endComponentLifecycle, getComponentDescriptor, getConnections, getContainer, getId, getLifecycleHandler, getLogger, incrementConnectionCount, initialize, resume, setup, startComponentLifecycle, suspend

Field Details

lock

private Object lock

singleton

private Object singleton

Method Details

dispose

public void dispose()
            throws ComponentLifecycleException
Specified by:
dispose in interface ComponentManager

getComponent

public Object getComponent()
            throws ComponentInstantiationException,
                   ComponentLifecycleException
Specified by:
getComponent in interface ComponentManager

release

public void release(Object component)
Specified by:
release in interface ComponentManager