W3cubDocs

/OpenJDK 8

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

Fields

RELATION_BASIC_CREATION

public static final String RELATION_BASIC_CREATION

Type for the creation of an internal relation.

RELATION_MBEAN_CREATION

public static final String RELATION_MBEAN_CREATION

Type for the relation MBean added into the Relation Service.

RELATION_BASIC_UPDATE

public static final String RELATION_BASIC_UPDATE

Type for an update of an internal relation.

RELATION_MBEAN_UPDATE

public static final String RELATION_MBEAN_UPDATE

Type for the update of a relation MBean.

RELATION_BASIC_REMOVAL

public static final String RELATION_BASIC_REMOVAL

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

RELATION_MBEAN_REMOVAL

public static final String RELATION_MBEAN_REMOVAL

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

Constructors

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

Methods

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.

© 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.