View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2005 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  
18  package ch.elca.el4j.services.monitoring.jmx;
19  
20  import javax.management.ObjectName;
21  
22  /**
23   * The interface of the proxy class for all the beans loaded in the ApplicationContext.
24   *
25   * @svnLink $Revision: 3884 $;$Date: 2009-08-04 15:48:31 +0200 (Di, 04. Aug 2009) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/jmx/src/main/java/ch/elca/el4j/services/monitoring/jmx/SpringBeanMBMBean.java $
26   *
27   * @author Raphael Boog (RBO)
28   * @author Rashid Waraich (RWA)
29   */
30  public interface SpringBeanMBMBean {
31  
32  	/**
33  	 * Getter method for the name member variable.
34  	 *
35  	 * @return Returns the name.
36  	 */
37  	String getName();
38  	
39  	/**
40  	 * @return The location this bean was defined at.
41  	 */
42  	String getResourceDescription();
43  
44  	/**
45  	 * Returns the configuration parameter as they have been set in the
46  	 * configuration files loaded by the Application Context.
47  	 *
48  	 * @return Returns the Configuration
49  	 */
50  	String[] getConfiguration();
51  
52  	/**
53  	 * Returns the object name of the Application Context proxy.
54  	 *
55  	 * @return Returns the applicationContextMB.
56  	 */
57  	ObjectName getApplicationContextMB();
58  
59  	/**
60  	 * Returns the corresponding MBeans which are registered at the MBean Server
61  	 * via MBeanExporter.
62  	 *
63  	 * @return Returns the registered MBeans
64  	 */
65  	ObjectName[] getRegisteredMBean();
66  
67  	/**
68  	 * Returns the class name of the referenced bean.
69  	 *
70  	 * @return Returns the className.
71  	 */
72  	String getClassName();
73  
74  	/**
75  	 * Returns whether the referenced bean is a Singleton or a Prototype.
76  	 *
77  	 * @return Returns if the referenced bean is a singleton
78  	 */
79  	boolean getIsSingleton();
80  
81  	/**
82  	 * Returns the interceptor class names of the referenced bean.
83  	 *
84  	 * @return Returns the interceptor class names of the referenced bean.
85  	 */
86  	String[] getInterceptors();
87  
88  	/**
89  	 * Returns whether the referenced bean is proxied or not.
90  	 *
91  	 * @return Returns whether the referenced bean is proxied or not.
92  	 */
93  	boolean getIsProxied();
94  	
95  	/**
96  	 * @return Reflection listing of all methods in this class.
97  	 */
98  	String[] getMethods();
99  	
100 	/**
101 	 * @return The properties of this bean. If proxied, the target's properties.
102 	 */
103 	String[] getProperties();
104 	
105 	/**
106 	 * @return Result of spring bean introspection on this bean.
107 	 */
108 	String introspect();
109 	
110 	/**
111 	 * Try and read a property from this bean.
112 	 * @param property The property to read.
113 	 * @return If successful, the value of the property,
114 	 * otherwise an error message.
115 	 */
116 	public String readProperty(String property);
117 }