javax.management
public class: MBeanNotificationInfo [javadoc |
source]
java.lang.Object
javax.management.MBeanFeatureInfo
javax.management.MBeanNotificationInfo
All Implemented Interfaces:
Cloneable, DescriptorRead, Serializable
Direct Known Subclasses:
ModelMBeanNotificationInfo
The MBeanNotificationInfo
class is used to describe the
characteristics of the different notification instances
emitted by an MBean, for a given Java class of notification.
If an MBean emits notifications that can be instances of different Java classes,
then the metadata for that MBean should provide an MBeanNotificationInfo
object for each of these notification Java classes.
Instances of this class are immutable. Subclasses may be
mutable but this is not recommended.
This class extends javax.management.MBeanFeatureInfo
and thus provides name
and description
fields.
The name
field should be the fully qualified Java class name of
the notification objects described by this class.
The getNotifTypes
method returns an array of
strings containing the notification types that the MBean may
emit. The notification type is a dot-notation string which
describes what the emitted notification is about, not the Java
class of the notification. A single generic notification class can
be used to send notifications of several types. All of these types
are returned in the string array result of the
getNotifTypes
method.
Field Summary |
---|
static final long | serialVersionUID | |
static final MBeanNotificationInfo[] | NO_NOTIFICATIONS | |
Constructor: |
public MBeanNotificationInfo(String[] notifTypes,
String name,
String description) {
this(notifTypes, name, description, null);
}
Constructs an MBeanNotificationInfo object. Parameters:
notifTypes - The array of strings (in dot notation)
containing the notification types that the MBean may emit.
This may be null with the same effect as a zero-length array.
name - The fully qualified Java class name of the
described notifications.
description - A human readable description of the data.
|
public MBeanNotificationInfo(String[] notifTypes,
String name,
String description,
Descriptor descriptor) {
super(name, description, descriptor);
/* We do not validate the notifTypes, since the spec just says
they are dot-separated, not that they must look like Java
classes. E.g. the spec doesn't forbid "sun.prob.25" as a
notifType, though it doesn't explicitly allow it
either. */
if (notifTypes == null)
notifTypes = NO_TYPES;
this.types = notifTypes;
this.arrayGettersSafe =
MBeanInfo.arrayGettersSafe(this.getClass(),
MBeanNotificationInfo.class);
}
Constructs an MBeanNotificationInfo object. Parameters:
notifTypes - The array of strings (in dot notation)
containing the notification types that the MBean may emit.
This may be null with the same effect as a zero-length array.
name - The fully qualified Java class name of the
described notifications.
description - A human readable description of the data.
descriptor - The descriptor for the notifications. This may be null
which is equivalent to an empty descriptor.
- since:
1.6 -
|
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.management.MBeanNotificationInfo Detail: |
public Object clone() {
try {
return super.clone() ;
} catch (CloneNotSupportedException e) {
// should not happen as this class is cloneable
return null;
}
}
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. |
public boolean equals(Object o) {
if (o == this)
return true;
if (!(o instanceof MBeanNotificationInfo))
return false;
MBeanNotificationInfo p = (MBeanNotificationInfo) o;
return (p.getName().equals(getName()) &&
p.getDescription().equals(getDescription()) &&
p.getDescriptor().equals(getDescriptor()) &&
Arrays.equals(p.fastGetNotifTypes(), fastGetNotifTypes()));
}
Compare this MBeanNotificationInfo to another. |
public String[] getNotifTypes() {
if (types.length == 0)
return NO_TYPES;
else
return types.clone();
}
Returns the array of strings (in dot notation) containing the
notification types that the MBean may emit. |
public int hashCode() {
int hash = getName().hashCode();
for (int i = 0; i < types.length; i++)
hash ^= types[i].hashCode();
return hash;
}
|
public String toString() {
return
getClass().getName() + "[" +
"description=" + getDescription() + ", " +
"name=" + getName() + ", " +
"notifTypes=" + Arrays.asList(fastGetNotifTypes()) + ", " +
"descriptor=" + getDescriptor() +
"]";
}
|