Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > ee5115d1de8d9cf1c36a33cc4513700b > files > 11

mx4j-manual-3.0.1-9.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_40) on Fri Oct 18 06:47:24 UTC 2013 -->
<title>AbstractDynamicMBean (MX4J API)</title>
<meta name="date" content="2013-10-18">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractDynamicMBean (MX4J API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractDynamicMBean.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../mx4j/ImplementationException.html" title="class in mx4j"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?mx4j/AbstractDynamicMBean.html" target="_top">Frames</a></li>
<li><a href="AbstractDynamicMBean.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">mx4j</div>
<h2 title="Class AbstractDynamicMBean" class="title">Class AbstractDynamicMBean</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>mx4j.AbstractDynamicMBean</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>javax.management.DynamicMBean</dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractDynamicMBean</span>
extends java.lang.Object
implements javax.management.DynamicMBean</pre>
<div class="block">Utility class that allow the user to easily write DynamicMBeans. <br>
 By extending this class, the developer does not have to implement the methods of the DynamicMBean interface, but
 has instead to provide only the metadata (by overriding few methods) and the implementation (by implementing
 the methods) of the MBean itself. <br>
 The methods to override that provides metadata information are usually the following:
 <ul>
 <li> <code>createMBeanAttributeInfo</code>, if the MBeans has manageable attributes </li>
 <li> <code>createMBeanOperationInfo</code>, if the MBeans has manageable operations </li>
 <li> <code>createMBeanNotificationInfo</code>, if the MBeans has manageable notifications </li>
 <li> <code>createMBeanConstructorInfo</code>, if the MBeans has manageable constructors </li>
 <li> <code>getMBeanDescription</code> </li>
 </ul>
 For example, the following MBean only has one manageable attribute:
 <pre>
 public class SimpleDynamic extends AbstractDynamicMBean
 {
    protected MBeanAttributeInfo[] createMBeanAttributeInfo()
    {
       return new MBeanAttributeInfo[]
       {
          new MBeanAttributeInfo("Name", String.class.getName(), "The name", true, true, false)
       };
    }
 <p/>
    protected String getMBeanDescription()
    {
       return "A simple DynamicMBean";
    }
 <p/>
    public String getName() { ... }
 <p/>
    public void setName(String name) { ... }
 }
 </pre>
 It is responsibility of the developer to specify the metadata <b>and</b> implement the methods specified by the
 metadata, that will be invoked via reflection by the AbstractDynamicMBean class. For this reason, the methods
 belonging to the MBean implementation (in the case above <code>getName()</code> and <code>setName(...)</code>)
 must be public.</div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Revision: 1.7 $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#AbstractDynamicMBean()">AbstractDynamicMBean</a></strong>()</code>
<div class="block">Only subclasses can create a new instance of an AbstractDynamicMBean.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected javax.management.MBeanAttributeInfo[]</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#createMBeanAttributeInfo()">createMBeanAttributeInfo</a></strong>()</code>
<div class="block">To be overridden to return metadata information about manageable attributes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected javax.management.MBeanConstructorInfo[]</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#createMBeanConstructorInfo()">createMBeanConstructorInfo</a></strong>()</code>
<div class="block">To be overridden to return metadata information about manageable constructors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected javax.management.MBeanInfo</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#createMBeanInfo()">createMBeanInfo</a></strong>()</code>
<div class="block">Creates the MBeanInfo for this instance, calling in succession factory methods that the user can override.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected javax.management.MBeanNotificationInfo[]</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#createMBeanNotificationInfo()">createMBeanNotificationInfo</a></strong>()</code>
<div class="block">To be overridden to return metadata information about manageable notifications.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected javax.management.MBeanOperationInfo[]</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#createMBeanOperationInfo()">createMBeanOperationInfo</a></strong>()</code>
<div class="block">To be overridden to return metadata information about manageable operations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.reflect.Method</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#findMethod(java.lang.Class, java.lang.String, java.lang.Class[])">findMethod</a></strong>(java.lang.Class&nbsp;cls,
          java.lang.String&nbsp;name,
          java.lang.Class[]&nbsp;params)</code>
<div class="block">Returns the (public) method with the given name and signature on the given class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getAttribute(java.lang.String)">getAttribute</a></strong>(java.lang.String&nbsp;attribute)</code>
<div class="block">Returns the value of the manageable attribute, as specified by the DynamicMBean interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>javax.management.AttributeList</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getAttributes(java.lang.String[])">getAttributes</a></strong>(java.lang.String[]&nbsp;attributes)</code>
<div class="block">Returns the manageable attributes, as specified by the DynamicMBean interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getMBeanClassName()">getMBeanClassName</a></strong>()</code>
<div class="block">To be overridden to return metadata information about the class name of this MBean;
 by default returns this class' name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getMBeanDescription()">getMBeanDescription</a></strong>()</code>
<div class="block">To be overridden to return metadata information about the description of this MBean.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>javax.management.MBeanInfo</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getMBeanInfo()">getMBeanInfo</a></strong>()</code>
<div class="block">Returns the MBeaInfo, as specified by the DynamicMBean interface; the default implementation caches the value
 returned by <a href="../mx4j/AbstractDynamicMBean.html#createMBeanInfo()"><code>createMBeanInfo()</code></a> (that is thus called only once).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#getResource()">getResource</a></strong>()</code>
<div class="block">Returns the resource object on which invoke attribute's getters, attribute's setters and operation's methods</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.Object, java.lang.String, java.lang.Class[], java.lang.Object[])">invoke</a></strong>(java.lang.Object&nbsp;resource,
      java.lang.String&nbsp;name,
      java.lang.Class[]&nbsp;params,
      java.lang.Object[]&nbsp;args)</code>
<div class="block">Looks up the method to call on given resource and invokes it.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.String, java.lang.Class[], java.lang.Object[])">invoke</a></strong>(java.lang.String&nbsp;name,
      java.lang.Class[]&nbsp;params,
      java.lang.Object[]&nbsp;args)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Replaced by <a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.Object, java.lang.String, java.lang.Class[], java.lang.Object[])"><code>invoke(Object,String,Class[],Object[])</code></a>. <br>
             The resource passed is the resource as set by <a href="../mx4j/AbstractDynamicMBean.html#setResource(java.lang.Object)"><code>setResource(java.lang.Object)</code></a> or - if it is null - 'this' instance. <br>
             This method is deprecated because it is not thread safe.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.String, java.lang.Object[], java.lang.String[])">invoke</a></strong>(java.lang.String&nbsp;method,
      java.lang.Object[]&nbsp;arguments,
      java.lang.String[]&nbsp;params)</code>
<div class="block">Returns the value of the manageable operation as specified by the DynamicMBean interface</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])">invokeMethod</a></strong>(java.lang.reflect.Method&nbsp;method,
            java.lang.Object&nbsp;resource,
            java.lang.Object[]&nbsp;args)</code>
<div class="block">Invokes the given method on the given resource object with the given arguments.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#setAttribute(javax.management.Attribute)">setAttribute</a></strong>(javax.management.Attribute&nbsp;attribute)</code>
<div class="block">Sets the value of the manageable attribute, as specified by the DynamicMBean interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>javax.management.AttributeList</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#setAttributes(javax.management.AttributeList)">setAttributes</a></strong>(javax.management.AttributeList&nbsp;attributes)</code>
<div class="block">Sets the manageable attributes, as specified by the DynamicMBean interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#setMBeanInfo(javax.management.MBeanInfo)">setMBeanInfo</a></strong>(javax.management.MBeanInfo&nbsp;info)</code>
<div class="block">Sets the MBeanInfo object cached by this instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../mx4j/AbstractDynamicMBean.html#setResource(java.lang.Object)">setResource</a></strong>(java.lang.Object&nbsp;resource)</code>
<div class="block">Specifies the resource object on which invoke attribute's getters, attribute's setters and operation's methods.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractDynamicMBean()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractDynamicMBean</h4>
<pre>protected&nbsp;AbstractDynamicMBean()</pre>
<div class="block">Only subclasses can create a new instance of an AbstractDynamicMBean.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#createMBeanConstructorInfo()"><code>createMBeanConstructorInfo()</code></a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getAttribute(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getAttribute(java.lang.String&nbsp;attribute)
                              throws javax.management.AttributeNotFoundException,
                                     javax.management.MBeanException,
                                     javax.management.ReflectionException</pre>
<div class="block">Returns the value of the manageable attribute, as specified by the DynamicMBean interface.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>getAttribute</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.management.AttributeNotFoundException</code></dd>
<dd><code>javax.management.MBeanException</code></dd>
<dd><code>javax.management.ReflectionException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#createMBeanAttributeInfo()"><code>createMBeanAttributeInfo()</code></a></dd></dl>
</li>
</ul>
<a name="getAttributes(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributes</h4>
<pre>public&nbsp;javax.management.AttributeList&nbsp;getAttributes(java.lang.String[]&nbsp;attributes)</pre>
<div class="block">Returns the manageable attributes, as specified by the DynamicMBean interface.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>getAttributes</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
</dl>
</li>
</ul>
<a name="getMBeanInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMBeanInfo</h4>
<pre>public&nbsp;javax.management.MBeanInfo&nbsp;getMBeanInfo()</pre>
<div class="block">Returns the MBeaInfo, as specified by the DynamicMBean interface; the default implementation caches the value
 returned by <a href="../mx4j/AbstractDynamicMBean.html#createMBeanInfo()"><code>createMBeanInfo()</code></a> (that is thus called only once).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>getMBeanInfo</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#createMBeanInfo()"><code>createMBeanInfo()</code></a>, 
<a href="../mx4j/AbstractDynamicMBean.html#setMBeanInfo(javax.management.MBeanInfo)"><code>setMBeanInfo(javax.management.MBeanInfo)</code></a></dd></dl>
</li>
</ul>
<a name="invoke(java.lang.String, java.lang.Object[], java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invoke</h4>
<pre>public&nbsp;java.lang.Object&nbsp;invoke(java.lang.String&nbsp;method,
                      java.lang.Object[]&nbsp;arguments,
                      java.lang.String[]&nbsp;params)
                        throws javax.management.MBeanException,
                               javax.management.ReflectionException</pre>
<div class="block">Returns the value of the manageable operation as specified by the DynamicMBean interface</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>invoke</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.management.MBeanException</code></dd>
<dd><code>javax.management.ReflectionException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#createMBeanOperationInfo()"><code>createMBeanOperationInfo()</code></a></dd></dl>
</li>
</ul>
<a name="setAttribute(javax.management.Attribute)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>public&nbsp;void&nbsp;setAttribute(javax.management.Attribute&nbsp;attribute)
                  throws javax.management.AttributeNotFoundException,
                         javax.management.InvalidAttributeValueException,
                         javax.management.MBeanException,
                         javax.management.ReflectionException</pre>
<div class="block">Sets the value of the manageable attribute, as specified by the DynamicMBean interface.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>setAttribute</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>javax.management.AttributeNotFoundException</code></dd>
<dd><code>javax.management.InvalidAttributeValueException</code></dd>
<dd><code>javax.management.MBeanException</code></dd>
<dd><code>javax.management.ReflectionException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#createMBeanAttributeInfo()"><code>createMBeanAttributeInfo()</code></a></dd></dl>
</li>
</ul>
<a name="setAttributes(javax.management.AttributeList)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributes</h4>
<pre>public&nbsp;javax.management.AttributeList&nbsp;setAttributes(javax.management.AttributeList&nbsp;attributes)</pre>
<div class="block">Sets the manageable attributes, as specified by the DynamicMBean interface.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code>setAttributes</code>&nbsp;in interface&nbsp;<code>javax.management.DynamicMBean</code></dd>
</dl>
</li>
</ul>
<a name="invoke(java.lang.String, java.lang.Class[], java.lang.Object[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invoke</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;invoke(java.lang.String&nbsp;name,
                      java.lang.Class[]&nbsp;params,
                      java.lang.Object[]&nbsp;args)
                           throws javax.management.InvalidAttributeValueException,
                                  javax.management.MBeanException,
                                  javax.management.ReflectionException</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Replaced by <a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.Object, java.lang.String, java.lang.Class[], java.lang.Object[])"><code>invoke(Object,String,Class[],Object[])</code></a>. <br>
             The resource passed is the resource as set by <a href="../mx4j/AbstractDynamicMBean.html#setResource(java.lang.Object)"><code>setResource(java.lang.Object)</code></a> or - if it is null - 'this' instance. <br>
             This method is deprecated because it is not thread safe.</i></div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>javax.management.InvalidAttributeValueException</code></dd>
<dd><code>javax.management.MBeanException</code></dd>
<dd><code>javax.management.ReflectionException</code></dd></dl>
</li>
</ul>
<a name="invoke(java.lang.Object, java.lang.String, java.lang.Class[], java.lang.Object[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invoke</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;invoke(java.lang.Object&nbsp;resource,
                      java.lang.String&nbsp;name,
                      java.lang.Class[]&nbsp;params,
                      java.lang.Object[]&nbsp;args)
                           throws javax.management.InvalidAttributeValueException,
                                  javax.management.MBeanException,
                                  javax.management.ReflectionException</pre>
<div class="block">Looks up the method to call on given resource and invokes it.
 The default implementation requires that the methods that implement attribute and operation behavior
 on the resource object are public, but it is possible to override this behavior, and call
 also private methods.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>javax.management.InvalidAttributeValueException</code></dd>
<dd><code>javax.management.MBeanException</code></dd>
<dd><code>javax.management.ReflectionException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#findMethod(java.lang.Class, java.lang.String, java.lang.Class[])"><code>findMethod(java.lang.Class, java.lang.String, java.lang.Class[])</code></a>, 
<a href="../mx4j/AbstractDynamicMBean.html#invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])"><code>invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])</code></a></dd></dl>
</li>
</ul>
<a name="findMethod(java.lang.Class, java.lang.String, java.lang.Class[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findMethod</h4>
<pre>protected&nbsp;java.lang.reflect.Method&nbsp;findMethod(java.lang.Class&nbsp;cls,
                                  java.lang.String&nbsp;name,
                                  java.lang.Class[]&nbsp;params)
                                       throws java.lang.NoSuchMethodException</pre>
<div class="block">Returns the (public) method with the given name and signature on the given class. <br>
 Override to return non-public methods, or to map methods to other classes, or to map methods with
 different signatures</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.NoSuchMethodException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.String, java.lang.Class[], java.lang.Object[])"><code>invoke(String, Class[], Object[])</code></a>, 
<a href="../mx4j/AbstractDynamicMBean.html#invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])"><code>invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])</code></a></dd></dl>
</li>
</ul>
<a name="invokeMethod(java.lang.reflect.Method, java.lang.Object, java.lang.Object[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invokeMethod</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;invokeMethod(java.lang.reflect.Method&nbsp;method,
                            java.lang.Object&nbsp;resource,
                            java.lang.Object[]&nbsp;args)
                                 throws java.lang.IllegalAccessException,
                                        java.lang.IllegalArgumentException,
                                        java.lang.reflect.InvocationTargetException</pre>
<div class="block">Invokes the given method on the given resource object with the given arguments. <br>
 Override to map methods to other objects, or to map methods with different arguments</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code>java.lang.IllegalAccessException</code></dd>
<dd><code>java.lang.IllegalArgumentException</code></dd>
<dd><code>java.lang.reflect.InvocationTargetException</code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#invoke(java.lang.String, java.lang.Class[], java.lang.Object[])"><code>invoke(String, Class[], Object[])</code></a>, 
<a href="../mx4j/AbstractDynamicMBean.html#findMethod(java.lang.Class, java.lang.String, java.lang.Class[])"><code>findMethod(java.lang.Class, java.lang.String, java.lang.Class[])</code></a></dd></dl>
</li>
</ul>
<a name="getResource()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResource</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;getResource()</pre>
<div class="block">Returns the resource object on which invoke attribute's getters, attribute's setters and operation's methods</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#setResource(java.lang.Object)"><code>setResource(java.lang.Object)</code></a></dd></dl>
</li>
</ul>
<a name="setResource(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setResource</h4>
<pre>public&nbsp;void&nbsp;setResource(java.lang.Object&nbsp;resource)</pre>
<div class="block">Specifies the resource object on which invoke attribute's getters, attribute's setters and operation's methods.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#getResource()"><code>getResource()</code></a></dd></dl>
</li>
</ul>
<a name="setMBeanInfo(javax.management.MBeanInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMBeanInfo</h4>
<pre>protected&nbsp;void&nbsp;setMBeanInfo(javax.management.MBeanInfo&nbsp;info)</pre>
<div class="block">Sets the MBeanInfo object cached by this instance. <br>
 The given MBeanInfo is not cloned.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../mx4j/AbstractDynamicMBean.html#getMBeanInfo()"><code>getMBeanInfo()</code></a></dd></dl>
</li>
</ul>
<a name="createMBeanInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMBeanInfo</h4>
<pre>protected&nbsp;javax.management.MBeanInfo&nbsp;createMBeanInfo()</pre>
<div class="block">Creates the MBeanInfo for this instance, calling in succession factory methods that the user can override.
 Information to create MBeanInfo are taken calling the following methods:
 <ul>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#createMBeanAttributeInfo()"><code>createMBeanAttributeInfo()</code></a></code></li>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#createMBeanConstructorInfo()"><code>createMBeanConstructorInfo()</code></a></code></li>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#createMBeanOperationInfo()"><code>createMBeanOperationInfo()</code></a></code></li>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#createMBeanNotificationInfo()"><code>createMBeanNotificationInfo()</code></a></code></li>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#getMBeanClassName()"><code>getMBeanClassName()</code></a></code></li>
 <li><code><a href="../mx4j/AbstractDynamicMBean.html#getMBeanDescription()"><code>getMBeanDescription()</code></a></code></li>
 </ul></div>
</li>
</ul>
<a name="createMBeanAttributeInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMBeanAttributeInfo</h4>
<pre>protected&nbsp;javax.management.MBeanAttributeInfo[]&nbsp;createMBeanAttributeInfo()</pre>
<div class="block">To be overridden to return metadata information about manageable attributes.</div>
</li>
</ul>
<a name="createMBeanConstructorInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMBeanConstructorInfo</h4>
<pre>protected&nbsp;javax.management.MBeanConstructorInfo[]&nbsp;createMBeanConstructorInfo()</pre>
<div class="block">To be overridden to return metadata information about manageable constructors.</div>
</li>
</ul>
<a name="createMBeanOperationInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMBeanOperationInfo</h4>
<pre>protected&nbsp;javax.management.MBeanOperationInfo[]&nbsp;createMBeanOperationInfo()</pre>
<div class="block">To be overridden to return metadata information about manageable operations.</div>
</li>
</ul>
<a name="createMBeanNotificationInfo()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createMBeanNotificationInfo</h4>
<pre>protected&nbsp;javax.management.MBeanNotificationInfo[]&nbsp;createMBeanNotificationInfo()</pre>
<div class="block">To be overridden to return metadata information about manageable notifications.</div>
</li>
</ul>
<a name="getMBeanClassName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMBeanClassName</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getMBeanClassName()</pre>
<div class="block">To be overridden to return metadata information about the class name of this MBean;
 by default returns this class' name.</div>
</li>
</ul>
<a name="getMBeanDescription()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getMBeanDescription</h4>
<pre>protected&nbsp;java.lang.String&nbsp;getMBeanDescription()</pre>
<div class="block">To be overridden to return metadata information about the description of this MBean.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractDynamicMBean.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../mx4j/ImplementationException.html" title="class in mx4j"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?mx4j/AbstractDynamicMBean.html" target="_top">Frames</a></li>
<li><a href="AbstractDynamicMBean.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><center><small>Copyright &#169; 2001-2005 The MX4J Contributors. All Rights Reserved.</small></center></small></p>
</body>
</html>