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:
  • Field Details

    • RELATION_BASIC_CREATION

      public static final String RELATION_BASIC_CREATION
      Type for the creation of an internal relation.
      See Also:
    • RELATION_MBEAN_CREATION

      public static final String RELATION_MBEAN_CREATION
      Type for the relation MBean added into the Relation Service.
      See Also:
    • RELATION_BASIC_UPDATE

      public static final String RELATION_BASIC_UPDATE
      Type for an update of an internal relation.
      See Also:
    • RELATION_MBEAN_UPDATE

      public static final String RELATION_MBEAN_UPDATE
      Type for the update of a relation MBean.
      See Also:
    • RELATION_BASIC_REMOVAL

      public static final String RELATION_BASIC_REMOVAL
      Type for the removal from the Relation Service of an internal relation.
      See Also:
    • RELATION_MBEAN_REMOVAL

      public static final String RELATION_MBEAN_REMOVAL
      Type for the removal from the Relation Service of a relation MBean.
      See Also:
  • Constructor Details

    • 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 Details

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