Package org.eclipse.ecf.core
Class AbstractContainer
- java.lang.Object
-
- org.eclipse.ecf.core.AbstractContainer
-
- All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable
,IContainer
,IIdentifiable
- Direct Known Subclasses:
AbstractClientContainer
,AbstractDiscoveryContainerAdapter
,AbstractRSAContainer
,BaseContainer
,SOContainer
public abstract class AbstractContainer extends Object implements IContainer
Abstract implementation of IContainer. Provides implementations of listener methods that subsclasses may use to avoid having to implement them themselves. This class may be subclassed as needed.
-
-
Constructor Summary
Constructors Constructor Description AbstractContainer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(IContainerListener l)
Add listener to IContainer.void
dispose()
Dispose this IContainer instance.protected void
fireContainerEvent(IContainerEvent event)
Fires a container event<T> T
getAdapter(Class<T> serviceType)
This specialization of IAdaptable.getAdapter() returns additional services supported by this container.protected String
getPasswordFromConnectContext(IConnectContext connectContext)
void
removeListener(IContainerListener l)
Remove listener from IContainer.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.ecf.core.IContainer
connect, disconnect, getConnectedID, getConnectNamespace
-
Methods inherited from interface org.eclipse.ecf.core.identity.IIdentifiable
getID
-
-
-
-
Method Detail
-
addListener
public void addListener(IContainerListener l)
Description copied from interface:IContainer
Add listener to IContainer. The listener's handleEvent method will be synchronously called when container methods are called. Minimally, the events delivered to the listener are as follows
Container Events container action Event connect start IContainerConnectingEvent connect complete IContainerConnectedEvent disconnect start IContainerDisconnectingEvent disconnect complete IContainerDisconnectedEvent - Specified by:
addListener
in interfaceIContainer
- Parameters:
l
- the IContainerListener to add
-
removeListener
public void removeListener(IContainerListener l)
Description copied from interface:IContainer
Remove listener from IContainer.- Specified by:
removeListener
in interfaceIContainer
- Parameters:
l
- the IContainerListener to remove
-
dispose
public void dispose()
Description copied from interface:IContainer
Dispose this IContainer instance. The container instance will be made inactive after the completion of this method and will be unavailable for subsequent usage.- Specified by:
dispose
in interfaceIContainer
-
fireContainerEvent
protected void fireContainerEvent(IContainerEvent event)
Fires a container event- Parameters:
event
- event
-
getAdapter
public <T> T getAdapter(Class<T> serviceType)
Description copied from interface:IContainer
This specialization of IAdaptable.getAdapter() returns additional services supported by this container. A container that supports additional services over and above the methods onIContainer
should return them using this method. It is recommended that clients use this method rather than instanceof checks and downcasts to find out about the capabilities of a specific container.Typically, after obtaining an IContainer, a client would use this method as a means to obtain a more meaningful interface to the container. This interface may or may not extend IContainer. For example, a client could use the following code to obtain an instance of ISharedObjectContainer:
IContainer newContainer = ContainerFactory.createContainer(type); ISharedObjectContainer soContainer = (ISharedObjectContainer) newContainer .getAdapter(ISharedObjectContainer.class); if (soContainer == null) throw new ContainerCreateException(message);
Implementations of this method should delegate to
IAdapterManager.loadAdapter()
if the service cannot be provided directly to ensure extensibility by third-party plug-ins.- Specified by:
getAdapter
in interfaceorg.eclipse.core.runtime.IAdaptable
- Specified by:
getAdapter
in interfaceIContainer
- Parameters:
serviceType
- the service type to look up- Returns:
- the service instance castable to the given class, or
null
if this container does not support the given service
-
getPasswordFromConnectContext
protected String getPasswordFromConnectContext(IConnectContext connectContext) throws ContainerConnectException
- Throws:
ContainerConnectException
-
-