public class MBeanOperationInfo extends MBeanFeatureInfo implements Cloneable
Describes a management operation exposed by an MBean. Instances of this class are immutable. Subclasses may be mutable but this is not recommended.
public static final int INFO
Indicates that the operation is read-like: it returns information but does not change any state.
public static final int ACTION
Indicates that the operation is write-like: it has an effect but does not return any information from the MBean.
public static final int ACTION_INFO
Indicates that the operation is both read-like and write-like: it has an effect, and it also returns information from the MBean.
public static final int UNKNOWN
Indicates that the impact of the operation is unknown or cannot be expressed using one of the other values.
public MBeanOperationInfo(String description, Method method)
Constructs an MBeanOperationInfo
object. The Descriptor
of the constructed object will include fields contributed by any annotations on the Method
object that contain the DescriptorKey
meta-annotation.
method
- The java.lang.reflect.Method
object describing the MBean operation.description
- A human readable description of the operation.public MBeanOperationInfo(String name, String description, MBeanParameterInfo[] signature, String type, int impact)
Constructs an MBeanOperationInfo
object.
name
- The name of the method.description
- A human readable description of the operation.signature
- MBeanParameterInfo
objects describing the parameters(arguments) of the method. This may be null with the same effect as a zero-length array.type
- The type of the method's return value.impact
- The impact of the method, one of INFO
, ACTION
, ACTION_INFO
, UNKNOWN
.public MBeanOperationInfo(String name, String description, MBeanParameterInfo[] signature, String type, int impact, Descriptor descriptor)
Constructs an MBeanOperationInfo
object.
name
- The name of the method.description
- A human readable description of the operation.signature
- MBeanParameterInfo
objects describing the parameters(arguments) of the method. This may be null with the same effect as a zero-length array.type
- The type of the method's return value.impact
- The impact of the method, one of INFO
, ACTION
, ACTION_INFO
, UNKNOWN
.descriptor
- The descriptor for the operation. This may be null which is equivalent to an empty descriptor.public Object clone()
Returns a shallow clone of this instance. The clone is obtained by simply calling super.clone()
, thus calling the default native shallow cloning mechanism implemented by Object.clone()
. No deeper cloning of any internal field is made.
Since this class is immutable, cloning is chiefly of interest to subclasses.
public String getReturnType()
Returns the type of the method's return value.
public MBeanParameterInfo[] getSignature()
Returns the list of parameters for this operation. Each parameter is described by an MBeanParameterInfo
object.
The returned array is a shallow copy of the internal array, which means that it is a copy of the internal array of references to the MBeanParameterInfo
objects but that each referenced MBeanParameterInfo
object is not copied.
MBeanParameterInfo
objects.public int getImpact()
Returns the impact of the method, one of INFO
, ACTION
, ACTION_INFO
, UNKNOWN
.
public String toString()
Description copied from class: Object
Returns a string representation of the object. In general, the toString
method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@
', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
public boolean equals(Object o)
Compare this MBeanOperationInfo to another.
equals
in class MBeanFeatureInfo
o
- the object to compare to.o
is an MBeanOperationInfo such that its MBeanFeatureInfo.getName()
, getReturnType()
, MBeanFeatureInfo.getDescription()
, getImpact()
, MBeanFeatureInfo.getDescriptor()
and getSignature()
values are equal (not necessarily identical) to those of this MBeanConstructorInfo. Two signature arrays are equal if their elements are pairwise equal.Object.hashCode()
, HashMap
public int hashCode()
Description copied from class: Object
Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap
.
The general contract of hashCode
is:
hashCode
method must consistently return the same integer, provided no information used in equals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. equals(Object)
method, then calling the hashCode
method on each of the two objects must produce the same integer result. Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables. As much as is reasonably practical, the hashCode method defined by class Object
does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)
hashCode
in class MBeanFeatureInfo
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.