/** * * This module contains all exceptions, typedefs and interfaces concerning the IIOP Adaptor for JMX * * @author Didier Donsez, 2006 * * @version 0.1, 19/02/2006 * */ module gicom { module management { module iiopadaptor { struct MBeanFeatureInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; }; struct MBeanParameterInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; // Returns the type or class name of the data.. string type; }; typedef sequence SeqOfMBeanParameterInfo; struct MBeanAttributeInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; // Returns the class name of the attribute. string type; // Indicates if this attribute has an "is" getter. boolean is; // Whether the value of the attribute can be read. boolean readable; // Whether new values can be written to the attribute. boolean writable; }; typedef sequence SeqOfMBeanAttributeInfo; struct MBeanConstructorInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; // TODO }; typedef sequence SeqOfMBeanConstructorInfo; struct MBeanNotificationInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; // TODO }; typedef sequence SeqOfMBeanNotificationInfo; /** * This enum represents the impact of the operation **/ enum Impact {INFO, ACTION, ACTION_INFO, UNKNOWN} ; struct MBeanOperationInfo { // The human-readable description of the feature. string description; // The name of the feature. string name; // the impact of the operation, one of INFO, ACTION, ACTION_INFO, UNKNOWN. Impact impact; // the type of the method's return value. string returnType; // the list of parameters for this operation. SeqOfMBeanParameterInfo signature; }; typedef sequence SeqOfMBeanOperationInfo; /* This struct represents the MBeanInfo **/ struct MBeanInfo { // the list of attributes exposed for management. SeqOfMBeanAttributeInfo attributes; // the name of the Java class of the MBean described by this MBeanInfo. string className; // the list of the public constructors of the MBean. SeqOfMBeanConstructorInfo constructors; // a human readable description of the MBean. string description; // the list of the notifications emitted by the MBean. SeqOfMBeanNotificationInfo notifications; // the list of operations of the MBean. SeqOfMBeanOperationInfo operations; }; /** * This exception is raised when a problem occurs in the banking business methods **/ exception ProblemException { string matter ; string reason ; }; /** * This interface represents accounts in the bank application. **/ typedef sequence SeqOfString; typedef sequence SeqOfAny; typedef string ObjectName; typedef string QueryExp; // Allows an object instance to be created given a string representation of an object name and the full class name, including the package name. struct ObjectInstance { string objectName; string className; }; typedef sequence SeqOfObjectInstance; // an Attribute object which associates the given attribute name with the given value. struct Attribute { string name; any value; }; typedef sequence SeqOfAttribute; // represents the MBeanServer interface MBeanServer { // the default domain used for naming the MBean. readonly attribute string defaultDomain; // the list of domains in which any MBean is currently registered. readonly attribute SeqOfString domains; // the number of MBeans registered in the MBean server. readonly attribute long MBeanCount; // This operation discovers the attributes and operations that an MBean exposes for management. MBeanInfo getMBeanInfo(in ObjectName name) raises (ProblemException); // Invokes an operation on an MBean. any invoke(in ObjectName name, in string operationName, in SeqOfAny params, in SeqOfString signature); // Returns true if the MBean specified is an instance of the specified class, false otherwise. boolean isInstanceOf(in ObjectName name, in string className); // Checks whether an MBean, identified by its object name, is already registered with the MBean server. boolean isRegistered(in ObjectName name); //Gets MBeans controlled by the MBean server. SeqOfObjectInstance queryMBeans(in ObjectName name, in QueryExp query); // Gets the names of MBeans controlled by the MBean server. SeqOfObjectInstance queryNames(in ObjectName name, in QueryExp query); //Gets the value of a specific attribute of a named MBean. any getAttribute(in ObjectName name, in string attributeName); //Gets the values of several attributes of a named MBean. SeqOfAttribute getAttributes(in ObjectName name, in SeqOfString attributes); // Sets the value of a specific attribute of a named MBean. void setAttribute(in ObjectName name, in Attribute _attribute); // Sets the value of a specific attribute of a named MBean. SeqOfAttribute setAttributes(in ObjectName name, in SeqOfAttribute attributes); //Unregisters an MBean from the MBean server. void unregisterMBean(in ObjectName name); }; }; }; };