javax.management.openmbean
Class OpenMBeanOperationInfoSupport

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

public class OpenMBeanOperationInfoSupport
extends MBeanOperationInfo
implements OpenMBeanOperationInfo

Describes a operation for an open management bean.

Since:
1.5
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 desc, OpenMBeanParameterInfo[] sig, OpenType<?> type, int impact)
          Constructs a @link{OpenMBeanOperationInfo} with the specified name, description, parameter information, open return type and impact.
 
Method Summary
 boolean equals(Object obj)
          Compares this attribute with the supplied object.
 OpenType<?> getReturnOpenType()
          Returns the open type instance which represents the type of the return value.
 int hashCode()
           Returns the hashcode of the operation information as the sum of the hashcodes of the name, open return type, impact and signature (calculated by java.util.Arrays.asList(signature).hashCode()).
 String toString()
           Returns a textual representation of this 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 desc,
                                     OpenMBeanParameterInfo[] sig,
                                     OpenType<?> type,
                                     int impact)
Constructs a @link{OpenMBeanOperationInfo} with the specified name, description, parameter information, open return type and impact. A null value for the parameter information is the same as passing in an empty array. A copy of the parameter array is taken, so later changes have no effect. The name and the description may not be equal to the empty string, and neither the name, description nor the open return type may be null. The value of impact must be one of the four valid values (MBeanOperationInfo.INFO, MBeanOperationInfo.ACTION, MBeanOperationInfo.ACTION_INFO and MBeanOperationInfo.UNKNOWN).

Parameters:
name - the name of the constructor.
desc - a description of the attribute.
sig - the signature of the method, as a series of MBeanParameterInfo objects, one for each parameter.
type - the open return type of the method.
impact - the impact of performing the operation.
Throws:
IllegalArgumentException - if the name, description or open return type is null, the name or description are equal to the empty string, or the impact factor is not one of the values enumerated above.
ArrayStoreException - if the members of the signature array are not assignable to MBeanParameterInfo
Method Detail

equals

public boolean equals(Object obj)
Compares this attribute with the supplied object. This returns true iff the object is an instance of OpenMBeanOperationInfo with an equal name, signature, open return type and impact.

Specified by:
equals in interface OpenMBeanOperationInfo
Overrides:
equals in class MBeanOperationInfo
Parameters:
obj - the object to compare.
Returns:
true if the object is a OpenMBeanParameterInfo instance, name.equals(object.getName()), signature.equals(object.getSignature()), returnOpenType.equals(object.getReturnOpenType()), and impact == object.getImpact().
See Also:
Object.hashCode()

getReturnOpenType

public OpenType<?> getReturnOpenType()
Returns the open type instance which represents the type of the return value.

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

hashCode

public int hashCode()

Returns the hashcode of the operation information as the sum of the hashcodes of the name, open return type, impact and signature (calculated by java.util.Arrays.asList(signature).hashCode()).

As instances of this class are immutable, the return value is computed just once for each instance and reused throughout its life.

Specified by:
hashCode in interface OpenMBeanOperationInfo
Overrides:
hashCode in class MBeanOperationInfo
Returns:
the hashcode of the operation information.
See Also:
Object.equals(Object), System.identityHashCode(Object)

toString

public String toString()

Returns a textual representation of this instance. This is constructed using the class name (javax.management.openmbean.OpenMBeanOperationInfo) along with the name, signature, open return type and impact.

As instances of this class are immutable, the return value is computed just once for each instance and reused throughout its life.

Specified by:
toString in interface OpenMBeanOperationInfo
Overrides:
toString in class MBeanOperationInfo
Returns:
a @link{java.lang.String} instance representing the instance in textual form.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)