View Javadoc

1   package net.sf.appstatus.core.services;
2   
3   import java.util.List;
4   import java.util.Properties;
5   
6   /**
7    * Service manager. Entry point for using services.
8    * 
9    * @author Nicolas Richeton
10   * 
11   */
12  public interface IServiceManager {
13  
14  	/**
15  	 * Get current configuration.
16  	 * 
17  	 * @return
18  	 */
19  	Properties getConfiguration();
20  
21  	/**
22  	 * Returns a monitor for a new service call.
23  	 * 
24  	 * @param service
25  	 * @return
26  	 */
27  	IServiceMonitor getMonitor(IService service);
28  
29  	/**
30  	 * Create or get the service definition identified by group and name.
31  	 * 
32  	 * @param name
33  	 *            name of the service.
34  	 * @param group
35  	 *            group of the service.
36  	 * @return
37  	 */
38  	IService getService(String name, String group);
39  
40  	/**
41  	 * List all current services.
42  	 * 
43  	 * <p>
44  	 * Services are defined using #getService(String, String)
45  	 * 
46  	 * @return
47  	 */
48  	List<IService> getServices();
49  
50  	/**
51  	 * Inject configuration for service manager.
52  	 * 
53  	 * @param configuration
54  	 */
55  	void setConfiguration(Properties configuration);
56  
57  }