001 // jademx - JADE management using JMX 002 // Copyright 2005 Caboodle Networks, Inc. 003 // 004 // This library is free software; you can redistribute it and/or 005 // modify it under the terms of the GNU Lesser General Public 006 // License as published by the Free Software Foundation; either 007 // version 2.1 of the License, or (at your option) any later version. 008 // 009 // This library is distributed in the hope that it will be useful, 010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 012 // Lesser General Public License for more details. 013 // 014 // You should have received a copy of the GNU Lesser General Public 015 // License along with this library; if not, write to the Free Software 016 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 017 018 package jade.jademx.agent; 019 020 import jade.jademx.mbean.JademxException; 021 022 import javax.management.MBeanServer; 023 import javax.management.ObjectName; 024 025 /** 026 * proxy agent corresponding to JademxPingAgent. 027 * The purpose of this class is to have access to the dynamic JMX interface 028 * presented by a JademxAgent without having to use the cumbersome dynamic 029 * syntax for interacting with that interface. 030 * @author David Bernstein, <a href="http://www.caboodlenetworks.com" 031 * >Caboodle Networks, Inc.</a> 032 */ 033 public class JademxPingAgentProxy extends JademxAgentProxy { 034 035 /** 036 * make a JademxPingAgentProxy 037 * @param objectName agent's ObjectName 038 * @param mBeanServer agent's MBeanServer 039 */ 040 public JademxPingAgentProxy( ObjectName objectName, MBeanServer mBeanServer ) { 041 super( objectName, mBeanServer ); 042 } 043 044 // 045 // PROXIED METHODS 046 // 047 048 // attribute Response 049 050 /** 051 * proxy for @see JademxPingAgent#setResponse(String) 052 * @param response response to set 053 * @throws JademxException on problem 054 */ 055 public void setResponse( String response ) throws JademxException { 056 setAttribute( JademxPingAgent.ATTR_RESPONSE_NAME, response ); 057 } 058 059 /** 060 * proxy for @see JademxPingAgent#getResponse() 061 * @return response 062 * @throws JademxException on problem 063 */ 064 public String getResponse() throws JademxException { 065 return (String)getAttribute( JademxPingAgent.ATTR_RESPONSE_NAME ); 066 } 067 068 // operation ping 069 070 /** 071 * proxy for @see JademxPingAgent#ping(String) 072 * @return current response 073 * @throws JademxException on problem 074 */ 075 public String ping( String pingeeAgentFullName ) throws JademxException { 076 return (String)invoke( 077 JademxPingAgent.OPER_PING_NAME, 078 new Object[]{ pingeeAgentFullName }, 079 JademxPingAgent.OPER_PING_SIGNATURE ); 080 } 081 082 }