javax.slee.management
Class SubsystemNotification

java.lang.Object
  extended by javax.slee.management.SubsystemNotification
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable, NotificationSource

public final class SubsystemNotification
extends java.lang.Object
implements NotificationSource

This class identifies a notification such as an alarm or trace notification as being generated from some internal subsystem in the SLEE.

Since:
SLEE 1.1
See Also:
Serialized Form

Field Summary
static java.lang.String ALARM_NOTIFICATION_TYPE
          The JMX notification type of alarm notifications that are generated in response to an internal component or subsystem of the SLEE interacting with the AlarmFacility (or a similar internal interface).
static java.lang.String SUBSYSTEM_NAME_KEY
          The JMX Object Name property key that identifies the name of the internal subsystem in a Usage MBean whose UsageMBean.NOTIFICATION_SOURCE_KEY property has a value equal to USAGE_NOTIFICATION_TYPE.
static java.lang.String TRACE_NOTIFICATION_TYPE
          The JMX notification type of trace notifications that are generated in response to an internal component or subsystem of the SLEE interacting with a Tracer object (or a similar internal interface).
static java.lang.String USAGE_NOTIFICATION_TYPE
          The JMX notification type of usage notifications that are generated by a UsageMBean containing a SubsystemNotification as a notification source.
 
Constructor Summary
SubsystemNotification(java.lang.String subsystemName)
          Create a new SubsystemNotification object that uniquely identifies an internal component or subsystem of the SLEE.
 
Method Summary
 int compareTo(java.lang.Object obj)
          Compare this notification source with the specified object for order.
protected  int compareTo(java.lang.String thisClassName, java.lang.Object that)
           
 boolean equals(java.lang.Object obj)
          Compare this notification source for equality with another object.
 java.lang.String getAlarmNotificationType()
          Get the JMX notification type of alarm notifications generated in response to a SLEE internal component or subsystem interacting with the Alarm Facility.
protected  java.lang.String getClassName()
          Get the class name of this notification source.
 java.lang.String getSubsystemName()
          Get the name of the internal component or subsystem of the SLEE identified by this notification source.
 java.lang.String getTraceNotificationType()
          Get the JMX notification type of trace notifications generated in response to a SLEE internal component or subsystem interacting with the Trace Facility.
 java.lang.String getUsageMBeanProperties()
          Get a JMX Object Name property string that uniquely identifies the SLEE internal component or subsystem of this notification source, suitable for inclusion in the Object Name of a Usage MBean.
static java.lang.String getUsageMBeanProperties(java.lang.String subsystemName)
          Get a JMX Object Name property string that uniquely identifies the specified SLEE internal component or subsystem, suitable for inclusion in the Object Name of a Usage MBean.
 java.lang.String getUsageNotificationType()
          Get the JMX notification type of usage notifications generated in response to a SLEE internal component or subsystem interacting with its usage parameters.
 int hashCode()
          Get a hash code value for this notification source.
 java.lang.String toString()
          Get a string representation for this notification source.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ALARM_NOTIFICATION_TYPE

public static final java.lang.String ALARM_NOTIFICATION_TYPE
The JMX notification type of alarm notifications that are generated in response to an internal component or subsystem of the SLEE interacting with the AlarmFacility (or a similar internal interface).

The notification type is equal to the string "javax.slee.management.alarm.subsystem".

See Also:
Constant Field Values

TRACE_NOTIFICATION_TYPE

public static final java.lang.String TRACE_NOTIFICATION_TYPE
The JMX notification type of trace notifications that are generated in response to an internal component or subsystem of the SLEE interacting with a Tracer object (or a similar internal interface).

The notification type is equal to the string "javax.slee.management.trace.subsystem".

See Also:
Constant Field Values

USAGE_NOTIFICATION_TYPE

public static final java.lang.String USAGE_NOTIFICATION_TYPE
The JMX notification type of usage notifications that are generated by a UsageMBean containing a SubsystemNotification as a notification source.

The notification type is equal to the string "javax.slee.management.usage.subsystem".

See Also:
Constant Field Values

SUBSYSTEM_NAME_KEY

public static final java.lang.String SUBSYSTEM_NAME_KEY
The JMX Object Name property key that identifies the name of the internal subsystem in a Usage MBean whose UsageMBean.NOTIFICATION_SOURCE_KEY property has a value equal to USAGE_NOTIFICATION_TYPE. This key is equal to the string "subsystemName".

Since:
SLEE 1.1
See Also:
UsageMBean.BASE_OBJECT_NAME, UsageMBean.NOTIFICATION_SOURCE_KEY, Constant Field Values
Constructor Detail

SubsystemNotification

public SubsystemNotification(java.lang.String subsystemName)
Create a new SubsystemNotification object that uniquely identifies an internal component or subsystem of the SLEE.

Parameters:
subsystemName - the name of the SLEE internal component or subsystem. Subsystem names may be any vendor-defined string.
Throws:
java.lang.NullPointerException - if subsystemName is null.
Method Detail

getSubsystemName

public java.lang.String getSubsystemName()
Get the name of the internal component or subsystem of the SLEE identified by this notification source.

Returns:
the name of the internal component or subsystem.

getAlarmNotificationType

public java.lang.String getAlarmNotificationType()
Get the JMX notification type of alarm notifications generated in response to a SLEE internal component or subsystem interacting with the Alarm Facility.

Specified by:
getAlarmNotificationType in interface NotificationSource
Returns:
the string defined by ALARM_NOTIFICATION_TYPE.

getTraceNotificationType

public java.lang.String getTraceNotificationType()
Get the JMX notification type of trace notifications generated in response to a SLEE internal component or subsystem interacting with the Trace Facility.

Specified by:
getTraceNotificationType in interface NotificationSource
Returns:
the string defined by TRACE_NOTIFICATION_TYPE.

getUsageNotificationType

public java.lang.String getUsageNotificationType()
Get the JMX notification type of usage notifications generated in response to a SLEE internal component or subsystem interacting with its usage parameters.

Specified by:
getUsageNotificationType in interface NotificationSource
Returns:
the string defined by USAGE_NOTIFICATION_TYPE.

getUsageMBeanProperties

public static java.lang.String getUsageMBeanProperties(java.lang.String subsystemName)
Get a JMX Object Name property string that uniquely identifies the specified SLEE internal component or subsystem, suitable for inclusion in the Object Name of a Usage MBean. This method makes use of the ObjectName.quote(java.lang.String) method to ensure that the name is valid for inclusion as property values in an Object Name.

This method can be used as follows to manually construct a complete Object Name for a Usage MBean:

Parameters:
subsystemName - the name of the SLEE internal component or subsystem.
Returns:
an Object Name property string that uniquely identifies the specified internal component or subsystem.
Throws:
java.lang.NullPointerException - if subsystem is null.

getUsageMBeanProperties

public java.lang.String getUsageMBeanProperties()
Get a JMX Object Name property string that uniquely identifies the SLEE internal component or subsystem of this notification source, suitable for inclusion in the Object Name of a Usage MBean.

This method is equivalent to getUsageMBeanProperties(getSubsystemName()).

Returns:
an Object Name property string that uniquely identifies the internal component or subsystem.

equals

public boolean equals(java.lang.Object obj)
Compare this notification source for equality with another object.

Specified by:
equals in interface NotificationSource
Overrides:
equals in class java.lang.Object
Parameters:
obj - the object to compare this with.
Returns:
true if obj is an instance of this class and contains the subsystem name as this, false otherwise.
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Get a hash code value for this notification source.

Specified by:
hashCode in interface NotificationSource
Overrides:
hashCode in class java.lang.Object
Returns:
a hash code value for this notification source.
See Also:
Object.hashCode()

toString

public java.lang.String toString()
Get a string representation for this notification source.

Specified by:
toString in interface NotificationSource
Overrides:
toString in class java.lang.Object
Returns:
a string representation for this notification source.
See Also:
Object.toString()

compareTo

public int compareTo(java.lang.Object obj)
Compare this notification source with the specified object for order. Returns a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object.

If obj is a SubsystemNotification, order is determined by comparing the encapsulated subsystem name. Otherwise, if obj is a NotificationSource, ordering is determined by comparing the class name of this class with the class name of obj.

Specified by:
compareTo in interface java.lang.Comparable
Specified by:
compareTo in interface NotificationSource
Parameters:
obj - the object to compare this with.
Returns:
a negative integer, zero, or a positive integer if this notification source is considered less than, equal to, or greater than the specified object.
Throws:
java.lang.ClassCastException - if obj does not implement the NotificationSource interface.
See Also:
Comparable.compareTo(Object)

getClassName

protected java.lang.String getClassName()
Get the class name of this notification source. More efficient than getClass().getName().

Returns:
the class name of this notification source.

compareTo

protected final int compareTo(java.lang.String thisClassName,
                              java.lang.Object that)


Copyright © 2009. All Rights Reserved.