Class AbstractContainer

    • Constructor Detail

      • AbstractContainer

        public AbstractContainer()
    • 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 interface IContainer
        Parameters:
        l - the IContainerListener to add
      • 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 interface IContainer
      • 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 on IContainer 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 interface org.eclipse.core.runtime.IAdaptable
        Specified by:
        getAdapter in interface IContainer
        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