Class RelationNotification

All Implemented Interfaces:
Serializable
public class RelationNotification
extends Notification

A notification of a change in the Relation Service. A RelationNotification notification is sent when a relation is created via the Relation Service, or an MBean is added as a relation in the Relation Service, or a role is updated in a relation, or a relation is removed from the Relation Service.

The serialVersionUID of this class is -6871117877523310399L.

Since:
1.5
See Also:
Serialized Form

Field Summary

Fields
Modifier and Type Field Description
static String RELATION_BASIC_CREATION

Type for the creation of an internal relation.

static String RELATION_BASIC_REMOVAL

Type for the removal from the Relation Service of an internal relation.

static String RELATION_BASIC_UPDATE

Type for an update of an internal relation.

static String RELATION_MBEAN_CREATION

Type for the relation MBean added into the Relation Service.

static String RELATION_MBEAN_REMOVAL

Type for the removal from the Relation Service of a relation MBean.

static String RELATION_MBEAN_UPDATE

Type for the update of a relation MBean.

Fields declared in class javax.management.Notification

source

Constructor Summary

Constructors
Constructor Description
RelationNotification​(String notifType, Object sourceObj, long sequence, long timeStamp, String message, String id, String typeName, ObjectName objectName, String name, List<ObjectName> newValue, List<ObjectName> oldValue)

Creates a notification for a role update in a relation.

RelationNotification​(String notifType, Object sourceObj, long sequence, long timeStamp, String message, String id, String typeName, ObjectName objectName, List<ObjectName> unregMBeanList)

Creates a notification for either a relation creation (RelationSupport object created internally in the Relation Service, or an MBean added as a relation) or for a relation removal from the Relation Service.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
List<ObjectName> getMBeansToUnregister()

Returns the list of ObjectNames of MBeans expected to be unregistered due to a relation removal (only for relation removal).

List<ObjectName> getNewRoleValue()

Returns new value of updated role (only for role update).

ObjectName getObjectName()

Returns the ObjectName of the created/removed/updated relation.

List<ObjectName> getOldRoleValue()

Returns old value of updated role (only for role update).

String getRelationId()

Returns the relation identifier of created/removed/updated relation.

String getRelationTypeName()

Returns the relation type name of created/removed/updated relation.

String getRoleName()

Returns name of updated role of updated relation (only for role update).

Methods declared in class javax.management.Notification

getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserData, toString

Methods declared in class java.util.EventObject

getSource

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

RELATION_BASIC_CREATION

public static final String RELATION_BASIC_CREATION

Type for the creation of an internal relation.

See Also:
Constant Field Values

RELATION_MBEAN_CREATION

public static final String RELATION_MBEAN_CREATION

Type for the relation MBean added into the Relation Service.

See Also:
Constant Field Values

RELATION_BASIC_UPDATE

public static final String RELATION_BASIC_UPDATE

Type for an update of an internal relation.

See Also:
Constant Field Values

RELATION_MBEAN_UPDATE

public static final String RELATION_MBEAN_UPDATE

Type for the update of a relation MBean.

See Also:
Constant Field Values

RELATION_BASIC_REMOVAL

public static final String RELATION_BASIC_REMOVAL

Type for the removal from the Relation Service of an internal relation.

See Also:
Constant Field Values

RELATION_MBEAN_REMOVAL

public static final String RELATION_MBEAN_REMOVAL

Type for the removal from the Relation Service of a relation MBean.

See Also:
Constant Field Values

Constructor Detail

RelationNotification

public RelationNotification​(String notifType,
                            Object sourceObj,
                            long sequence,
                            long timeStamp,
                            String message,
                            String id,
                            String typeName,
                            ObjectName objectName,
                            List<ObjectName> unregMBeanList)
                     throws IllegalArgumentException

Creates a notification for either a relation creation (RelationSupport object created internally in the Relation Service, or an MBean added as a relation) or for a relation removal from the Relation Service.

Parameters:
notifType - type of the notification; either:

- RELATION_BASIC_CREATION

- RELATION_MBEAN_CREATION

- RELATION_BASIC_REMOVAL

- RELATION_MBEAN_REMOVAL

sourceObj - source object, sending the notification. This is either an ObjectName or a RelationService object. In the latter case it must be the MBean emitting the notification; the MBean Server will rewrite the source to be the ObjectName under which that MBean is registered.
sequence - sequence number to identify the notification
timeStamp - time stamp
message - human-readable message describing the notification
id - relation id identifying the relation in the Relation Service
typeName - name of the relation type
objectName - ObjectName of the relation object if it is an MBean (null for relations internally handled by the Relation Service)
unregMBeanList - list of ObjectNames of referenced MBeans expected to be unregistered due to relation removal (only for removal, due to CIM qualifiers, can be null)
Throws:
IllegalArgumentException - if:

- no value for the notification type

- the notification type is not RELATION_BASIC_CREATION, RELATION_MBEAN_CREATION, RELATION_BASIC_REMOVAL or RELATION_MBEAN_REMOVAL

- no source object

- the source object is not a Relation Service

- no relation id

- no relation type name

RelationNotification

public RelationNotification​(String notifType,
                            Object sourceObj,
                            long sequence,
                            long timeStamp,
                            String message,
                            String id,
                            String typeName,
                            ObjectName objectName,
                            String name,
                            List<ObjectName> newValue,
                            List<ObjectName> oldValue)
                     throws IllegalArgumentException

Creates a notification for a role update in a relation.

Parameters:
notifType - type of the notification; either:

- RELATION_BASIC_UPDATE

- RELATION_MBEAN_UPDATE

sourceObj - source object, sending the notification. This is either an ObjectName or a RelationService object. In the latter case it must be the MBean emitting the notification; the MBean Server will rewrite the source to be the ObjectName under which that MBean is registered.
sequence - sequence number to identify the notification
timeStamp - time stamp
message - human-readable message describing the notification
id - relation id identifying the relation in the Relation Service
typeName - name of the relation type
objectName - ObjectName of the relation object if it is an MBean (null for relations internally handled by the Relation Service)
name - name of the updated role
newValue - new role value (List of ObjectName objects)
oldValue - old role value (List of ObjectName objects)
Throws:
IllegalArgumentException - if null parameter

Method Detail

getRelationId

public String getRelationId()

Returns the relation identifier of created/removed/updated relation.

Returns:
the relation id.

getRelationTypeName

public String getRelationTypeName()

Returns the relation type name of created/removed/updated relation.

Returns:
the relation type name.

getObjectName

public ObjectName getObjectName()

Returns the ObjectName of the created/removed/updated relation.

Returns:
the ObjectName if the relation is an MBean, otherwise null.

getMBeansToUnregister

public List<ObjectName> getMBeansToUnregister()

Returns the list of ObjectNames of MBeans expected to be unregistered due to a relation removal (only for relation removal).

Returns:
a List of ObjectName.

getRoleName

public String getRoleName()

Returns name of updated role of updated relation (only for role update).

Returns:
the name of the updated role.

getOldRoleValue

public List<ObjectName> getOldRoleValue()

Returns old value of updated role (only for role update).

Returns:
the old value of the updated role.

getNewRoleValue

public List<ObjectName> getNewRoleValue()

Returns new value of updated role (only for role update).

Returns:
the new value of the updated role.