Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 37e5289627394ca2979b10387e4180fa51907b84 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
 * 
 */
package org.eclipse.papyrus.infra.core.serviceregistry;

/**
 * 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;

}

Back to the top