RelationNotification (Java Platform SE 8 )
Keywords: javax.management.relation.RelationNotification class
Date: 2020-03-26

compact3
javax.management.relation

## Class RelationNotification

- java.lang.Object
- - java.util.EventObject
  - - javax.management.Notification
    - - javax.management.relation.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 and 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 inherited from class javax.management.Notification

      `source`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `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.
    `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.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 inherited from class javax.management.Notification

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

    - ### Methods inherited from class java.util.EventObject

      `getSource`

    - ### Methods inherited from 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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.