<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.7.0) on Thu Jan 10 16:02:50 EST 2008 --> <TITLE> AbstractServerInvoker (MX4J API) </TITLE> <META NAME="date" CONTENT="2008-01-10"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="AbstractServerInvoker (MX4J API)"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractServerInvoker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../mx4j/tools/remote/AbstractJMXConnectorServer.html" title="class in mx4j.tools.remote"><B>PREV CLASS</B></A> <A HREF="../../../mx4j/tools/remote/Connection.html" title="interface in mx4j.tools.remote"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?mx4j/tools/remote/AbstractServerInvoker.html" target="_top"><B>FRAMES</B></A> <A HREF="AbstractServerInvoker.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> mx4j.tools.remote</FONT> <BR> Class AbstractServerInvoker</H2> <PRE> java.lang.Object <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>mx4j.tools.remote.AbstractServerInvoker</B> </PRE> <DL> <DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></DD> </DL> <DL> <DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../mx4j/tools/remote/http/HTTPServerInvoker.html" title="class in mx4j.tools.remote.http">HTTPServerInvoker</A></DD> </DL> <HR> <DL> <DT><PRE>public abstract class <B>AbstractServerInvoker</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></DL> </PRE> <P> This class implements partially the JMXConnection interface to forward the calls to an MBeanServerConnection object (hence the name 'invoker'). It does not handle nor unmarshalling of arguments (and all related classloading problems), nor remote notification mechanisms of any sort, which are left to subclasses, which will implement them in a protocol specific way. This class is the server-side counterpart of <A HREF="../../../mx4j/tools/remote/JMXConnectionMBeanServerConnection.html" title="class in mx4j.tools.remote"><CODE>JMXConnectionMBeanServerConnection</CODE></A> <P> <P> <DL> <DT><B>Version:</B></DT> <DD>$Revision: 1.3 $</DD> </DL> <HR> <P> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected </CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#AbstractServerInvoker(javax.management.MBeanServerConnection)">AbstractServerInvoker</A></B>(javax.management.MBeanServerConnection server)</CODE> <BR> </TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Method Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)">addNotificationListener</A></B>(javax.management.ObjectName name, javax.management.ObjectName listener, java.lang.Object filter, java.lang.Object handback, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.ObjectInstance</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">createMBean</A></B>(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.ObjectInstance</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">createMBean</A></B>(java.lang.String className, javax.management.ObjectName name, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)">getAttribute</A></B>(javax.management.ObjectName name, java.lang.String attribute, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.AttributeList</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)">getAttributes</A></B>(javax.management.ObjectName name, java.lang.String[] attributes, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.String</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getDefaultDomain(javax.security.auth.Subject)">getDefaultDomain</A></B>(javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.String[]</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getDomains(javax.security.auth.Subject)">getDomains</A></B>(javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Integer</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getMBeanCount(javax.security.auth.Subject)">getMBeanCount</A></B>(javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.MBeanInfo</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getMBeanInfo(javax.management.ObjectName, javax.security.auth.Subject)">getMBeanInfo</A></B>(javax.management.ObjectName name, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.ObjectInstance</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getObjectInstance(javax.management.ObjectName, javax.security.auth.Subject)">getObjectInstance</A></B>(javax.management.ObjectName name, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.MBeanServerConnection</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#getServer()">getServer</A></B>()</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.lang.Object</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#invoke(javax.management.ObjectName, java.lang.String, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">invoke</A></B>(javax.management.ObjectName name, java.lang.String operationName, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#isInstanceOf(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)">isInstanceOf</A></B>(javax.management.ObjectName name, java.lang.String className, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#isRegistered(javax.management.ObjectName, javax.security.auth.Subject)">isRegistered</A></B>(javax.management.ObjectName name, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.util.Set</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#queryMBeans(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">queryMBeans</A></B>(javax.management.ObjectName name, java.lang.Object query, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> java.util.Set</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#queryNames(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">queryNames</A></B>(javax.management.ObjectName name, java.lang.Object query, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)">removeNotificationListener</A></B>(javax.management.ObjectName name, javax.management.ObjectName listener, java.lang.Object filter, java.lang.Object handback, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.security.auth.Subject)">removeNotificationListener</A></B>(javax.management.ObjectName name, javax.management.ObjectName listener, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#setAttribute(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">setAttribute</A></B>(javax.management.ObjectName name, java.lang.Object attribute, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> javax.management.AttributeList</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#setAttributes(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">setAttributes</A></B>(javax.management.ObjectName name, java.lang.Object attributes, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../mx4j/tools/remote/AbstractServerInvoker.html#unregisterMBean(javax.management.ObjectName, javax.security.auth.Subject)">unregisterMBean</A></B>(javax.management.ObjectName name, javax.security.auth.Subject delegate)</CODE> <BR> </TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_mx4j.tools.remote.JMXConnection"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from interface mx4j.tools.remote.<A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#close()">close</A></CODE></TD> </TR> </TABLE> <P> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TH> </TR> </TABLE> <A NAME="AbstractServerInvoker(javax.management.MBeanServerConnection)"><!-- --></A><H3> AbstractServerInvoker</H3> <PRE> protected <B>AbstractServerInvoker</B>(javax.management.MBeanServerConnection server)</PRE> <DL> </DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="getServer()"><!-- --></A><H3> getServer</H3> <PRE> public javax.management.MBeanServerConnection <B>getServer</B>()</PRE> <DL> <DD><DL> </DL> </DD> <DD><DL> </DL> </DD> </DL> <HR> <A NAME="createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)"><!-- --></A><H3> createMBean</H3> <PRE> public javax.management.ObjectInstance <B>createMBean</B>(java.lang.String className, javax.management.ObjectName name, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate) throws javax.management.ReflectionException, javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.MBeanException, javax.management.NotCompliantMBeanException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">createMBean</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>javax.management.InstanceAlreadyExistsException</CODE> <DD><CODE>javax.management.MBeanRegistrationException</CODE> <DD><CODE>javax.management.MBeanException</CODE> <DD><CODE>javax.management.NotCompliantMBeanException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)"><!-- --></A><H3> createMBean</H3> <PRE> public javax.management.ObjectInstance <B>createMBean</B>(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate) throws javax.management.ReflectionException, javax.management.InstanceAlreadyExistsException, javax.management.MBeanRegistrationException, javax.management.MBeanException, javax.management.NotCompliantMBeanException, javax.management.InstanceNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">createMBean</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>javax.management.InstanceAlreadyExistsException</CODE> <DD><CODE>javax.management.MBeanRegistrationException</CODE> <DD><CODE>javax.management.MBeanException</CODE> <DD><CODE>javax.management.NotCompliantMBeanException</CODE> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="unregisterMBean(javax.management.ObjectName, javax.security.auth.Subject)"><!-- --></A><H3> unregisterMBean</H3> <PRE> public void <B>unregisterMBean</B>(javax.management.ObjectName name, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.MBeanRegistrationException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#unregisterMBean(javax.management.ObjectName, javax.security.auth.Subject)">unregisterMBean</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.MBeanRegistrationException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getObjectInstance(javax.management.ObjectName, javax.security.auth.Subject)"><!-- --></A><H3> getObjectInstance</H3> <PRE> public javax.management.ObjectInstance <B>getObjectInstance</B>(javax.management.ObjectName name, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getObjectInstance(javax.management.ObjectName, javax.security.auth.Subject)">getObjectInstance</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="queryMBeans(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> queryMBeans</H3> <PRE> public java.util.Set <B>queryMBeans</B>(javax.management.ObjectName name, java.lang.Object query, javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#queryMBeans(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">queryMBeans</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="queryNames(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> queryNames</H3> <PRE> public java.util.Set <B>queryNames</B>(javax.management.ObjectName name, java.lang.Object query, javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#queryNames(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">queryNames</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="isRegistered(javax.management.ObjectName, javax.security.auth.Subject)"><!-- --></A><H3> isRegistered</H3> <PRE> public boolean <B>isRegistered</B>(javax.management.ObjectName name, javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#isRegistered(javax.management.ObjectName, javax.security.auth.Subject)">isRegistered</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getMBeanCount(javax.security.auth.Subject)"><!-- --></A><H3> getMBeanCount</H3> <PRE> public java.lang.Integer <B>getMBeanCount</B>(javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getMBeanCount(javax.security.auth.Subject)">getMBeanCount</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)"><!-- --></A><H3> getAttribute</H3> <PRE> public java.lang.Object <B>getAttribute</B>(javax.management.ObjectName name, java.lang.String attribute, javax.security.auth.Subject delegate) throws javax.management.MBeanException, javax.management.AttributeNotFoundException, javax.management.InstanceNotFoundException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getAttribute(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)">getAttribute</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.MBeanException</CODE> <DD><CODE>javax.management.AttributeNotFoundException</CODE> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)"><!-- --></A><H3> getAttributes</H3> <PRE> public javax.management.AttributeList <B>getAttributes</B>(javax.management.ObjectName name, java.lang.String[] attributes, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getAttributes(javax.management.ObjectName, java.lang.String[], javax.security.auth.Subject)">getAttributes</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="setAttribute(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> setAttribute</H3> <PRE> public void <B>setAttribute</B>(javax.management.ObjectName name, java.lang.Object attribute, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.AttributeNotFoundException, javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#setAttribute(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">setAttribute</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.AttributeNotFoundException</CODE> <DD><CODE>javax.management.InvalidAttributeValueException</CODE> <DD><CODE>javax.management.MBeanException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="setAttributes(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> setAttributes</H3> <PRE> public javax.management.AttributeList <B>setAttributes</B>(javax.management.ObjectName name, java.lang.Object attributes, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#setAttributes(javax.management.ObjectName, java.lang.Object, javax.security.auth.Subject)">setAttributes</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="invoke(javax.management.ObjectName, java.lang.String, java.lang.Object, java.lang.String[], javax.security.auth.Subject)"><!-- --></A><H3> invoke</H3> <PRE> public java.lang.Object <B>invoke</B>(javax.management.ObjectName name, java.lang.String operationName, java.lang.Object params, java.lang.String[] signature, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#invoke(javax.management.ObjectName, java.lang.String, java.lang.Object, java.lang.String[], javax.security.auth.Subject)">invoke</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.MBeanException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getDefaultDomain(javax.security.auth.Subject)"><!-- --></A><H3> getDefaultDomain</H3> <PRE> public java.lang.String <B>getDefaultDomain</B>(javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getDefaultDomain(javax.security.auth.Subject)">getDefaultDomain</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getDomains(javax.security.auth.Subject)"><!-- --></A><H3> getDomains</H3> <PRE> public java.lang.String[] <B>getDomains</B>(javax.security.auth.Subject delegate) throws java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getDomains(javax.security.auth.Subject)">getDomains</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="getMBeanInfo(javax.management.ObjectName, javax.security.auth.Subject)"><!-- --></A><H3> getMBeanInfo</H3> <PRE> public javax.management.MBeanInfo <B>getMBeanInfo</B>(javax.management.ObjectName name, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.IntrospectionException, javax.management.ReflectionException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#getMBeanInfo(javax.management.ObjectName, javax.security.auth.Subject)">getMBeanInfo</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.IntrospectionException</CODE> <DD><CODE>javax.management.ReflectionException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="isInstanceOf(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)"><!-- --></A><H3> isInstanceOf</H3> <PRE> public boolean <B>isInstanceOf</B>(javax.management.ObjectName name, java.lang.String className, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#isInstanceOf(javax.management.ObjectName, java.lang.String, javax.security.auth.Subject)">isInstanceOf</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> addNotificationListener</H3> <PRE> public void <B>addNotificationListener</B>(javax.management.ObjectName name, javax.management.ObjectName listener, java.lang.Object filter, java.lang.Object handback, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)">addNotificationListener</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.security.auth.Subject)"><!-- --></A><H3> removeNotificationListener</H3> <PRE> public void <B>removeNotificationListener</B>(javax.management.ObjectName name, javax.management.ObjectName listener, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.security.auth.Subject)">removeNotificationListener</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.ListenerNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <HR> <A NAME="removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)"><!-- --></A><H3> removeNotificationListener</H3> <PRE> public void <B>removeNotificationListener</B>(javax.management.ObjectName name, javax.management.ObjectName listener, java.lang.Object filter, java.lang.Object handback, javax.security.auth.Subject delegate) throws javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException, java.io.IOException</PRE> <DL> <DD><DL> <DT><B>Specified by:</B><DD><CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html#removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, java.lang.Object, java.lang.Object, javax.security.auth.Subject)">removeNotificationListener</A></CODE> in interface <CODE><A HREF="../../../mx4j/tools/remote/JMXConnection.html" title="interface in mx4j.tools.remote">JMXConnection</A></CODE></DL> </DD> <DD><DL> <DT><B>Throws:</B> <DD><CODE>javax.management.InstanceNotFoundException</CODE> <DD><CODE>javax.management.ListenerNotFoundException</CODE> <DD><CODE>java.io.IOException</CODE></DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractServerInvoker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../mx4j/tools/remote/AbstractJMXConnectorServer.html" title="class in mx4j.tools.remote"><B>PREV CLASS</B></A> <A HREF="../../../mx4j/tools/remote/Connection.html" title="interface in mx4j.tools.remote"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html?mx4j/tools/remote/AbstractServerInvoker.html" target="_top"><B>FRAMES</B></A> <A HREF="AbstractServerInvoker.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> <center><small>Copyright © 2001-2005 The MX4J Contributors. All Rights Reserved.</small></center> </BODY> </HTML>