/** * */ package org.eclipse.papyrus.infra.core.services; /** * A factory creating a Service that can be registered in the {@link ServicesRegistry}. * * A service is a singleton available throw the registry. A service can be * shared across editors. The service lifecycle events (init, start and dispose) * are sent to the factory. The factory is responsible to forward them to the * real service. * * @author dumoulin * */ public interface IServiceFactory extends IService { /** * Create the instance of the service that will be returned by {@link ServicesRegistry#getService(Class)}. * * @return The instance of the service. * @throws ServiceException * If an error occurs during the operation. */ public Object createServiceInstance() throws ServiceException; }