1 /*
   2  * Copyright (c) 1999, 2010, 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 import javax.naming.NamingException;
  29 
  30 /**
  31  * This interface represents an unsolicited notification as defined in
  32  * <A HREF="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</A>.
  33  * An unsolicited notification is sent by the LDAP server to the LDAP
  34  * client without any provocation from the client.
  35  * Its format is that of an extended response (<tt>ExtendedResponse</tt>).
  36  *
  37  * @author Rosanna Lee
  38  * @author Scott Seligman
  39  * @author Vincent Ryan
  40  *
  41  * @see ExtendedResponse
  42  * @see UnsolicitedNotificationEvent
  43  * @see UnsolicitedNotificationListener
  44  * @since 1.3
  45  */
  46 
  47 public interface UnsolicitedNotification extends ExtendedResponse, HasControls {
  48     /**
  49      * Retrieves the referral(s) sent by the server.
  50      *
  51      * @return A possibly null array of referrals, each of which is represented
  52      * by a URL string. If null, no referral was sent by the server.
  53      */
  54     public String[] getReferrals();
  55 
  56     /**
  57      * Retrieves the exception as constructed using information
  58      * sent by the server.
  59      * @return A possibly null exception as constructed using information
  60      * sent by the server. If null, a "success" status was indicated by
  61      * the server.
  62      */
  63     public NamingException getException();
  64 }