1   package com.trendmicro.grid.acl.ds;
2   
3   import java.util.List;
4   
5   /**
6    * Defines interfaces for the JMX monitoring extension.
7    *
8    * @author juergen_kellerer, 2010-05-05
9    * @version 1.0
10   */
11  public interface RepositorySelectorMBean {
12  
13  	/**
14  	 * Returns the interface of the repository that this selector
15  	 * is selecting the implementation for.
16  	 *
17  	 * @return the interface of the repository
18  	 */
19  	public String getRepositoryClass();
20  
21  	/**
22  	 * Returns the name of the currently selected repository implementation.
23  	 *
24  	 * @return the name of the currently selected repository implementation.
25  	 */
26  	public String getSelectedKey();
27  
28  	/**
29  	 * Sets the implementation key.
30  	 *
31  	 * @param selectedKey the implementation key.
32  	 */
33  	void setSelectedKey(String selectedKey);
34  
35  	/**
36  	 * Returns a list of all registered implementations.
37  	 *
38  	 * @return a list of all registered implementations.
39  	 */
40  	List<String> getAvailableKeys();
41  }