javax.management.openmbean
Class OpenMBeanOperationInfoSupport

java.lang.Object
  extended byjavax.management.MBeanFeatureInfo
      extended byjavax.management.MBeanOperationInfo
          extended byjavax.management.openmbean.OpenMBeanOperationInfoSupport
All Implemented Interfaces:
Cloneable, OpenMBeanOperationInfo, Serializable

public class OpenMBeanOperationInfoSupport
extends MBeanOperationInfo
implements OpenMBeanOperationInfo, Serializable

Describes an operation of an Open MBean.

Since:
JMX 1.1
Version:
3.14 02/10/01
Author:
Sun Microsystems, Inc.
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.management.MBeanOperationInfo
ACTION, ACTION_INFO, INFO, UNKNOWN
 
Fields inherited from class javax.management.MBeanFeatureInfo
description, name
 

 

Constructor Summary

OpenMBeanOperationInfoSupport(String name, String description, OpenMBeanParameterInfo[] signature, OpenType returnOpenType, int impact)
          Constructs an OpenMBeanOperationInfoSupport instance, which describes the operation of a class of open MBeans, with the specified name, description, signature, returnOpenType and impact.
 
Method Summary
 boolean equals(Object obj)
          Compares the specified obj parameter with this OpenMBeanOperationInfoSupport instance for equality.
 OpenType getReturnOpenType()
          Returns the open type of the values returned by the operation described by this OpenMBeanOperationInfo instance.
 int hashCode()
          Returns the hash code value for this OpenMBeanOperationInfoSupport instance.
 String toString()
          Returns a string representation of this OpenMBeanOperationInfoSupport instance.
 
Methods inherited from class javax.management.MBeanOperationInfo
clone, getImpact, getReturnType, getSignature
 
Methods inherited from class javax.management.MBeanFeatureInfo
getDescription, getName
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.management.openmbean.OpenMBeanOperationInfo
getDescription, getImpact, getName, getReturnType, getSignature
 

Constructor Detail

OpenMBeanOperationInfoSupport

public OpenMBeanOperationInfoSupport(String name,
                                     String description,
                                     OpenMBeanParameterInfo[] signature,
                                     OpenType returnOpenType,
                                     int impact)
Constructs an OpenMBeanOperationInfoSupport instance, which describes the operation of a class of open MBeans, with the specified name, description, signature, returnOpenType and impact.

The signature array parameter is internally copied, so that subsequent changes to the array referenced by signature have no effect on this instance.

Parameters:
name - cannot be a null or empty string.
description - cannot be a null or empty string.
signature - can be null or empty if there are no parameters to describe.
returnOpenType - cannot be null: use SimpleType.VOID for operations that return nothing.
impact - can be only one of ACTION, ACTION_INFO or INFO.
Throws:
IllegalArgumentException - if name or description are null or empty string, or returnOpenType is null, or impact is not one of ACTION, ACTION_INFO or INFO.
ArrayStoreException - If signature is not an array of instances of a subclass of MBeanParameterInfo.
Method Detail

getReturnOpenType

public OpenType getReturnOpenType()
Returns the open type of the values returned by the operation described by this OpenMBeanOperationInfo instance.

Specified by:
getReturnOpenType in interface OpenMBeanOperationInfo
Returns:
the return type.

equals

public boolean equals(Object obj)
Compares the specified obj parameter with this OpenMBeanOperationInfoSupport instance for equality.

Returns true if and only if all of the following statements are true:

  • obj is non null,

  • obj also implements the OpenMBeanOperationInfo interface,

  • their names are equal

  • their signatures are equal

  • their return open types are equal

  • their impacts are equal

This ensures that this equals method works properly for obj parameters which are different implementations of the OpenMBeanOperationInfo interface.
 

Specified by:
equals in interface OpenMBeanOperationInfo
Overrides:
equals in class MBeanOperationInfo
Parameters:
obj - the object to be compared for equality with this OpenMBeanOperationInfoSupport instance;
Returns:
true if the specified object is equal to this OpenMBeanOperationInfoSupport instance.

hashCode

public int hashCode()
Returns the hash code value for this OpenMBeanOperationInfoSupport instance.

The hash code of an OpenMBeanOperationInfoSupport instance is the sum of the hash codes of all elements of information used in equals comparisons (ie: its name, return open type, impact and signature, where the signature hashCode is calculated by a call to java.util.Arrays.asList(this.getSignature).hashCode()).

This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode() for any two OpenMBeanOperationInfoSupport instances t1 and t2, as required by the general contract of the method Object.hashCode .

However, note that another instance of a class implementing the OpenMBeanOperationInfo interface may be equal to this OpenMBeanOperationInfoSupport instance as defined by equals(java.lang.Object), but may have a different hash code if it is calculated differently.

As OpenMBeanOperationInfoSupport instances are immutable, the hash code for this instance is calculated once, on the first call to hashCode, and then the same value is returned for subsequent calls.

Specified by:
hashCode in interface OpenMBeanOperationInfo
Overrides:
hashCode in class MBeanOperationInfo
Returns:
the hash code value for this OpenMBeanOperationInfoSupport instance

toString

public String toString()
Returns a string representation of this OpenMBeanOperationInfoSupport instance.

The string representation consists of the name of this class (ie javax.management.openmbean.OpenMBeanOperationInfoSupport), and the name, signature, return open type and impact of the described operation.

As OpenMBeanOperationInfoSupport instances are immutable, the string representation for this instance is calculated once, on the first call to toString, and then the same value is returned for subsequent calls.

Specified by:
toString in interface OpenMBeanOperationInfo
Returns:
a string representation of this OpenMBeanOperationInfoSupport instance


Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.