- /*
- * @(#)ListenerInfo.java 1.4 03/12/19
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.jmx.remote.internal;
-
- import javax.management.NotificationFilter;
- import javax.management.NotificationListener;
- import javax.management.ObjectName;
-
- import javax.security.auth.Subject;
-
-
- /**
- * <p>An identified listener. A listener has an Integer id that is
- * unique per connector server. It selects notifications based on the
- * ObjectName of the originator and an optional
- * NotificationFilter.</p>
- *
- * <p>Two ListenerInfo objects are considered equal if and only if
- * they have the same listenerId. This means that ListenerInfo
- * objects can be stored in a Set or Map and retrieved using another
- * ListenerInfo with the same listenerId but arbitrary ObjectNme and
- * NotificationFilter values.</p>
- */
- public class ListenerInfo {
- public ListenerInfo(Integer listenerID,
- ObjectName name,
- NotificationFilter filter) {
- this.listenerID = listenerID;
- this.name = name;
- this.filter = filter;
- }
-
- public ListenerInfo(Integer listenerID,
- ObjectName name,
- NotificationListener listener,
- NotificationFilter filter,
- Object handback,
- Subject delegationSubject) {
- this.listenerID = listenerID;
- this.name = name;
- this.listener = listener;
- this.filter = filter;
- this.handback = handback;
- this.delegationSubject = delegationSubject;
- }
-
- public boolean equals(Object o) {
- if (!(o instanceof ListenerInfo)) {
- return false;
- }
-
- return listenerID.equals(((ListenerInfo)o).listenerID);
- }
-
- public int hashCode() {
- return listenerID.intValue();
- }
-
- public ObjectName getObjectName() {
- return name;
- }
-
- public Integer getListenerID() {
- return listenerID;
- }
-
- public NotificationFilter getNotificationFilter() {
- return filter;
- }
-
- public NotificationListener getListener() {
- return listener;
- }
-
- public Object getHandback() {
- return handback;
- }
-
- public Subject getDelegationSubject() {
- return delegationSubject;
- }
-
- private ObjectName name;
- private Integer listenerID;
- private NotificationFilter filter;
-
- private NotificationListener listener = null;
- private Object handback = null;
- private Subject delegationSubject = null;
- }