org.eclipse.ecf.core
Interface ISharedObject

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IEventHandler
All Known Implementing Classes:
AbstractSharedObject, BaseChannel, BaseFileShareReceiver, BaseFileShareRetriever, BaseFileShareSender, OptimisticSharedObject, RegistrySharedObject, SharedObjectDatashareContainerAdapter, TransactionSharedObject, XMPPGroupChatSharedObject, XMPPPresenceSharedObject

public interface ISharedObject
extends org.eclipse.core.runtime.IAdaptable, IEventHandler

Core interface for implementing components that exist within ISharedObjectContainer


Method Summary
 void dispose(ID containerID)
          Method called by the ISharedObjectContainer upon ISharedObject destruction.
 void init(ISharedObjectConfig initData)
          Initialize this ISharedObject.
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.ecf.core.util.IEventHandler
handleEvent, handleEvents
 

Method Detail

init

void init(ISharedObjectConfig initData)
          throws SharedObjectInitException
Initialize this ISharedObject. The ISharedObjectContainer for this ISharedObject must call this method with a non-null instance of ISharedObjectConfig. ISharedObject implementations can use this initialization to perform any initialization necessary prior to receiving any events (via handleEvent/s). Note that the ISharedObjectContext provided via the ISharedObjectConfig.getSharedObjectContext() method is not guaranteed to allow any method calls until after this init() method call has completed.

Parameters:
initData - the initialization data passed by the ISharedObjectContainer upon initialization
Throws:
SharedObjectInitException - thrown by ISharedObject to halt initialization. ISharedObjectContainers must respond to such an exception by halting the addition of the ISharedObject instance and treating it as not in the container.

dispose

void dispose(ID containerID)
Method called by the ISharedObjectContainer upon ISharedObject destruction. Once this method is called, no more Events will be passed to a ISharedObject until the init method is called again.

Parameters:
containerID - the ID of the container that is disposing this ISharedObject