1 /*
2  * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 
26 package javax.naming.ldap;
27 
28 /**
29  * This class represents an event fired in response to an unsolicited
30  * notification sent by the LDAP server.
31  *
32  * @author Rosanna Lee
33  * @author Scott Seligman
34  * @author Vincent Ryan
35  *
36  * @see UnsolicitedNotification
37  * @see UnsolicitedNotificationListener
38  * @see javax.naming.event.EventContext#addNamingListener
39  * @see javax.naming.event.EventDirContext#addNamingListener
40  * @see javax.naming.event.EventContext#removeNamingListener
41  * @since 1.3
42  */
43 
44 public class UnsolicitedNotificationEvent extends java.util.EventObject {
45     /**
46      * The notification that caused this event to be fired.
47      * @serial
48      */
49     private UnsolicitedNotification notice;
50 
51     /**
52      * Constructs a new instance of {@code UnsolicitedNotificationEvent}.
53      *
54      * @param src The non-null source that fired the event.
55      * @param notice The non-null unsolicited notification.
56      */
UnsolicitedNotificationEvent(Object src, UnsolicitedNotification notice)57     public UnsolicitedNotificationEvent(Object src,
58         UnsolicitedNotification notice) {
59         super(src);
60         this.notice = notice;
61     }
62 
63 
64     /**
65      * Returns the unsolicited notification.
66      * @return The non-null unsolicited notification that caused this
67      * event to be fired.
68      */
getNotification()69     public UnsolicitedNotification getNotification() {
70         return notice;
71     }
72 
73     /**
74      * Invokes the {@code notificationReceived()} method on
75      * a listener using this event.
76      * @param listener The non-null listener on which to invoke
77      *        {@code notificationReceived}.
78      */
dispatch(UnsolicitedNotificationListener listener)79     public void dispatch(UnsolicitedNotificationListener listener) {
80         listener.notificationReceived(this);
81     }
82 
83     private static final long serialVersionUID = -2382603380799883705L;
84 }
85