001: /*
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: ManagementRepr.java 4408 2004-03-19 14:31:54Z sauthieg $
023: * --------------------------------------------------------------------------
024: */
025:
026: package org.objectweb.jonas.jmx;
027:
028: import java.util.Properties;
029: import java.util.Set;
030:
031: import javax.management.AttributeList;
032: import javax.management.MBeanInfo;
033: import javax.management.ObjectName;
034: import javax.naming.Context;
035: import javax.naming.NamingException;
036:
037: /**
038: * Defines all the management operations invoked by management applications through the
039: * <code>JonasManagementRepr</code> class.
040: * @author Adriana Danes
041: */
042: public interface ManagementRepr {
043:
044: /**
045: * @return True if the MBean is already registered in the MBean server, false otherwise or if an exception is catched.
046: */
047: public boolean isRegistered(ObjectName on);
048:
049: /**
050: * @param on The ObjectName of the MBean of which the attribute is to be retrieved.
051: * @param attribute A String specifying the name of the attribute to be retrieved.
052: * @return The value of the attribute.
053: */
054: public Object getAttribute(ObjectName on, String attribute)
055: throws ManagementException;
056:
057: /**
058: * @param on The ObjectName of the MBean of which attribute are to be retrieved.
059: * @param attributes A list of the attributes to be retrieved.
060: * @return Thelist of retrieved attributes.
061: */
062: public AttributeList getAttributes(ObjectName on,
063: String[] attributes) throws ManagementException;
064:
065: /**
066: * @param on The ObjectName of the MBean of which the attribute is to be set
067: * @param attribute A String specifying the name of the attribute to be retrieve.
068: * @param value The value to set to the attribute.
069: */
070: public void setAttribute(ObjectName on, String attribute,
071: Object value) throws ManagementException;
072:
073: /**
074: * @param on The ObjectName of the MBean of which the attribute is to be set.
075: * @param attributes A list of attributes: The identification of the attribute to be set and the value it is to be set to
076: * @return The list of attributes that were set, with their new values.
077: */
078: public AttributeList setAttributes(ObjectName on,
079: AttributeList attributes) throws ManagementException;
080:
081: /**
082: * @param on
083: */
084: public Object invoke(ObjectName on, String operation,
085: Object[] param, String[] signature)
086: throws ManagementException;
087:
088: /**
089: * @return A set containing the ObjectNames for the MBeans selected.
090: */
091: public java.util.Set queryNames(ObjectName on)
092: throws ManagementException;
093:
094: /**
095: * @return An instance of MBeanInfo allowing the retrieval of all
096: * attributes and operations of this MBean.
097: */
098: public MBeanInfo getMBeanInfo(ObjectName name)
099: throws ManagementException;
100:
101: /**
102: * @return Context the current application context.
103: */
104: public Context getContext() throws NamingException;
105:
106: /**
107: * @return String the name of the current RMI connector.
108: */
109: public String getCurrentRMIConnectorName();
110:
111: /**
112: * Set the currentRMIConnectorName to the specified value
113: */
114: public void setCurrentRMIConnectorName(String name)
115: throws Exception;
116:
117: /**
118: * Set the currentRMIConnectorName to null
119: */
120: public void resetCurrentRMIConnectorName();
121:
122: /**
123: * @return Set a set containning all RMI connector names available in the current context.
124: */
125: public Set getRMIConnectorsNames() throws NamingException;
126:
127: /**
128: * @return String the value of the PROVIDER_URL property in the current context.
129: */
130: public String getJonasNamingServiceURL();
131:
132: /**
133: * Sets the PROVIDER_URL property to the specified value.
134: */
135: public void setJonasNamingServiceURL(String url)
136: throws NamingException;
137:
138: /**
139: * Create a new naming context based on the given env. properties
140: */
141: public void setNamingEnvCtx(Properties env)
142: throws javax.naming.NamingException;
143: }
|