/* * @(#)TargetedNotification.java 1.10 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.management.remote; import java.io.Serializable; import javax.management.Notification; /** *

A (Notification, Listener ID) pair.

*

This class is used to associate an emitted notification * with the listener ID to which it is targeted.

* * @since 1.5 * @since.unbundled 1.0 */ public class TargetedNotification implements Serializable { private static final long serialVersionUID = 7676132089779300926L; // If we replace Integer with int... // /** // *

Constructs a TargetedNotification object. The // * object contains a pair (Notification, Listener ID). // * The Listener ID identifies the client listener to which that // * notification is targeted. The client listener ID is one // * previously returned by the connector server in response to an // * addNotificationListener request.

// * @param notification Notification emitted from the MBean server. // * @param listenerID The ID of the listener to which this // * notification is targeted. // */ // public TargetedNotification(Notification notification, // int listenerID) { // this.notif = notification; // this.id = listenerID; // } /** *

Constructs a TargetedNotification object. The * object contains a pair (Notification, Listener ID). * The Listener ID identifies the client listener to which that * notification is targeted. The client listener ID is one * previously returned by the connector server in response to an * addNotificationListener request.

* @param notification Notification emitted from the MBean server. * @param listenerID The ID of the listener to which this * notification is targeted. * @exception IllegalArgumentException if the listenerID * or notification is null. */ public TargetedNotification(Notification notification, Integer listenerID) { // If we replace integer with int... // this(notification,intValue(listenerID)); if (notification == null) throw new IllegalArgumentException("Invalid notification: null"); if (listenerID == null) throw new IllegalArgumentException("Invalid listener ID: null"); this.notif = notification; this.id = listenerID; } /** *

The emitted notification.

* * @return The notification. */ public Notification getNotification() { return notif; } /** *

The ID of the listener to which the notification is * targeted.

* * @return The listener ID. */ public Integer getListenerID() { return id; } /** * Returns a textual representation of this Targeted Notification. * * @return a String representation of this Targeted Notification. **/ public String toString() { return "{" + notif + ", " + id + "}"; } /** * @serial A notification to transmit to the other side. * @see #getNotification() **/ private final Notification notif; /** * @serial The ID of the listener to which the notification is * targeted. * @see #getListenerID() **/ private final Integer id; //private final int id; // Needed if we use int instead of Integer... // private static int intValue(Integer id) { // if (id == null) throw new // IllegalArgumentException("Invalid listener ID: null"); // return id.intValue(); // } }