aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/naming/ldap
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/naming/ldap')
-rw-r--r--libjava/classpath/javax/naming/ldap/Control.java56
-rw-r--r--libjava/classpath/javax/naming/ldap/ControlFactory.java107
-rw-r--r--libjava/classpath/javax/naming/ldap/ExtendedRequest.java57
-rw-r--r--libjava/classpath/javax/naming/ldap/ExtendedResponse.java52
-rw-r--r--libjava/classpath/javax/naming/ldap/HasControls.java51
-rw-r--r--libjava/classpath/javax/naming/ldap/InitialLdapContext.java133
-rw-r--r--libjava/classpath/javax/naming/ldap/LdapContext.java63
-rw-r--r--libjava/classpath/javax/naming/ldap/LdapReferralException.java68
-rw-r--r--libjava/classpath/javax/naming/ldap/UnsolicitedNotification.java52
-rw-r--r--libjava/classpath/javax/naming/ldap/UnsolicitedNotificationEvent.java70
-rw-r--r--libjava/classpath/javax/naming/ldap/UnsolicitedNotificationListener.java51
-rw-r--r--libjava/classpath/javax/naming/ldap/package.html46
12 files changed, 806 insertions, 0 deletions
diff --git a/libjava/classpath/javax/naming/ldap/Control.java b/libjava/classpath/javax/naming/ldap/Control.java
new file mode 100644
index 0000000..9f6409b
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/Control.java
@@ -0,0 +1,56 @@
+/* Control.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface Control extends Serializable
+{
+ boolean CRITICAL = true;
+ boolean NONCRITICAL = false;
+
+ String getID();
+ boolean isCritical();
+ byte[] getEncodedValue();
+}
diff --git a/libjava/classpath/javax/naming/ldap/ControlFactory.java b/libjava/classpath/javax/naming/ldap/ControlFactory.java
new file mode 100644
index 0000000..f72e67a
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/ControlFactory.java
@@ -0,0 +1,107 @@
+/* ControlFactory.java --
+ Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+/**
+ * @author Tom Tromey (tromey@redhat.com)
+ * @date June 22, 2001
+ */
+public abstract class ControlFactory
+{
+ protected ControlFactory ()
+ {
+ }
+
+ public abstract Control getControlInstance (Control control)
+ throws NamingException;
+
+ public static Control getControlInstance (Control control,
+ Context ctx,
+ Hashtable env)
+ throws NamingException
+ {
+ String path = (String) env.get (LdapContext.CONTROL_FACTORIES);
+ String path2 = null;
+ if (ctx != null)
+ path2 = (String) ctx.getEnvironment ().get (LdapContext.CONTROL_FACTORIES);
+ if (path == null)
+ path = path2;
+ else if (path2 != null)
+ path += ":" + path2;
+
+ StringTokenizer tokens = new StringTokenizer (path, ":");
+ while (tokens.hasMoreTokens ())
+ {
+ String name = tokens.nextToken ();
+ try
+ {
+ Class k = Class.forName (name);
+ ControlFactory cf = (ControlFactory) k.newInstance ();
+ Control ctrl = cf.getControlInstance (control);
+ if (ctrl != null)
+ return ctrl;
+ }
+ catch (ClassNotFoundException _1)
+ {
+ // Ignore it.
+ }
+ catch (ClassCastException _2)
+ {
+ // Ignore it.
+ }
+ catch (InstantiationException _3)
+ {
+ // If we couldn't instantiate the factory we might get
+ // this.
+ }
+ catch (IllegalAccessException _4)
+ {
+ // Another possibility when instantiating.
+ }
+ }
+
+ return control;
+ }
+}
diff --git a/libjava/classpath/javax/naming/ldap/ExtendedRequest.java b/libjava/classpath/javax/naming/ldap/ExtendedRequest.java
new file mode 100644
index 0000000..e6379c0
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/ExtendedRequest.java
@@ -0,0 +1,57 @@
+/* ExtendedRequest.java --
+ Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.io.Serializable;
+
+import javax.naming.NamingException;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+public interface ExtendedRequest extends Serializable
+{
+ String getID();
+ byte[] getEncodedValue();
+ ExtendedResponse createExtendedResponse(String id,
+ byte[] berValue, int offset,
+ int length)
+ throws NamingException;
+}
diff --git a/libjava/classpath/javax/naming/ldap/ExtendedResponse.java b/libjava/classpath/javax/naming/ldap/ExtendedResponse.java
new file mode 100644
index 0000000..a3b6dd1
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/ExtendedResponse.java
@@ -0,0 +1,52 @@
+/* ExtendedResponse.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface ExtendedResponse extends Serializable
+{
+ String getID();
+ byte[] getEncodedValue();
+}
diff --git a/libjava/classpath/javax/naming/ldap/HasControls.java b/libjava/classpath/javax/naming/ldap/HasControls.java
new file mode 100644
index 0000000..a169896
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/HasControls.java
@@ -0,0 +1,51 @@
+/* HasControls.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import javax.naming.NamingException;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface HasControls
+{
+ Control[] getControls() throws NamingException;
+}
diff --git a/libjava/classpath/javax/naming/ldap/InitialLdapContext.java b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java
new file mode 100644
index 0000000..45a9eae
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/InitialLdapContext.java
@@ -0,0 +1,133 @@
+/* InitialLdapContext.java --
+ Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.NoInitialContextException;
+import javax.naming.NotContextException;
+import javax.naming.directory.InitialDirContext;
+
+/**
+ * @author Tom Tromey (tromey@redhat.com)
+ * @date June 21, 2001
+ */
+public class InitialLdapContext
+ extends InitialDirContext
+ implements LdapContext
+{
+ public InitialLdapContext ()
+ throws NamingException
+ {
+ this (null, null);
+ }
+
+ public InitialLdapContext (Hashtable environment, Control[] connControls)
+ throws NamingException
+ {
+ super (false);
+
+ if (connControls != null)
+ {
+ if (environment == null)
+ environment = new Hashtable ();
+ else
+ environment = (Hashtable) environment.clone ();
+ environment.put ("java.naming.ldap.control.connect",
+ connControls);
+ }
+
+ init (environment);
+ }
+
+ private LdapContext getDefaultInitLdapCtx ()
+ throws NamingException
+ {
+ Context c = getDefaultInitCtx ();
+ if (c == null)
+ throw new NoInitialContextException ();
+ else if (! (c instanceof LdapContext))
+ throw new NotContextException ();
+ return (LdapContext) c;
+ }
+
+ public ExtendedResponse extendedOperation (ExtendedRequest request)
+ throws NamingException
+ {
+ return getDefaultInitLdapCtx ().extendedOperation (request);
+ }
+
+ public Control[] getConnectControls ()
+ throws NamingException
+ {
+ return getDefaultInitLdapCtx ().getConnectControls ();
+ }
+
+ public Control[] getRequestControls ()
+ throws NamingException
+ {
+ return getDefaultInitLdapCtx ().getRequestControls ();
+ }
+
+ public Control[] getResponseControls ()
+ throws NamingException
+ {
+ return getDefaultInitLdapCtx ().getResponseControls ();
+ }
+
+ public LdapContext newInstance (Control[] reqControls)
+ throws NamingException
+ {
+ return getDefaultInitLdapCtx ().newInstance (reqControls);
+ }
+
+ public void reconnect (Control[] connControls)
+ throws NamingException
+ {
+ getDefaultInitLdapCtx ().reconnect (connControls);
+ }
+
+ public void setRequestControls (Control[] reqControls)
+ throws NamingException
+ {
+ getDefaultInitLdapCtx ().setRequestControls (reqControls);
+ }
+}
diff --git a/libjava/classpath/javax/naming/ldap/LdapContext.java b/libjava/classpath/javax/naming/ldap/LdapContext.java
new file mode 100644
index 0000000..10b72f7
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/LdapContext.java
@@ -0,0 +1,63 @@
+/* LdapContext.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import javax.naming.NamingException;
+import javax.naming.directory.DirContext;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface LdapContext extends DirContext
+{
+ String CONTROL_FACTORIES = "java.naming.factory.control";
+
+ ExtendedResponse extendedOperation(ExtendedRequest request)
+ throws NamingException;
+ LdapContext newInstance(Control[] requestControls)
+ throws NamingException;
+ void reconnect(Control[] connCtls) throws NamingException;
+ Control[] getConnectControls() throws NamingException;
+ void setRequestControls(Control[] requestControls)
+ throws NamingException;
+ Control[] getRequestControls() throws NamingException;
+ Control[] getResponseControls() throws NamingException;
+}
diff --git a/libjava/classpath/javax/naming/ldap/LdapReferralException.java b/libjava/classpath/javax/naming/ldap/LdapReferralException.java
new file mode 100644
index 0000000..61a2b8e
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/LdapReferralException.java
@@ -0,0 +1,68 @@
+/* LdapReferralException.java --
+ Copyright (C) 2001, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.ReferralException;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+public abstract class LdapReferralException extends ReferralException
+{
+ protected LdapReferralException()
+ {
+ super();
+ }
+
+ protected LdapReferralException(String explanation)
+ {
+ super(explanation);
+ }
+
+ public abstract Context getReferralContext() throws NamingException;
+ public abstract Context getReferralContext(Hashtable env)
+ throws NamingException;
+ public abstract Context getReferralContext(Hashtable env, Control[] reqCtls)
+ throws NamingException;
+}
diff --git a/libjava/classpath/javax/naming/ldap/UnsolicitedNotification.java b/libjava/classpath/javax/naming/ldap/UnsolicitedNotification.java
new file mode 100644
index 0000000..0b6f9d7
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/UnsolicitedNotification.java
@@ -0,0 +1,52 @@
+/* UnsolicitedNotification.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import javax.naming.NamingException;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface UnsolicitedNotification extends ExtendedResponse, HasControls
+{
+ String[] getReferrals();
+ NamingException getException();
+}
diff --git a/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationEvent.java b/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationEvent.java
new file mode 100644
index 0000000..f9946064
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationEvent.java
@@ -0,0 +1,70 @@
+/* UnsolicitedNotificationEvent.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import java.util.EventObject;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 5, 2001
+ */
+public class UnsolicitedNotificationEvent extends EventObject
+{
+ private static final long serialVersionUID = -2382603380799883705L;
+
+ // Serialized fields.
+ private UnsolicitedNotification notice;
+
+ public UnsolicitedNotificationEvent(Object src,
+ UnsolicitedNotification notice)
+ {
+ super(src);
+ this.notice = notice;
+ }
+
+ public UnsolicitedNotification getNotification()
+ {
+ return notice;
+ }
+
+ public void dispatch(UnsolicitedNotificationListener listener)
+ {
+ listener.notificationReceived(this);
+ }
+}
diff --git a/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationListener.java b/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationListener.java
new file mode 100644
index 0000000..fd56f05
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/UnsolicitedNotificationListener.java
@@ -0,0 +1,51 @@
+/* UnsolicitedNotificationListener.java --
+ Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.naming.ldap;
+
+import javax.naming.event.NamingListener;
+
+/**
+ * @author Warren Levy (warrenl@redhat.com)
+ * @date June 1, 2001
+ */
+
+public interface UnsolicitedNotificationListener extends NamingListener
+{
+ void notificationReceived(UnsolicitedNotificationEvent evt);
+}
diff --git a/libjava/classpath/javax/naming/ldap/package.html b/libjava/classpath/javax/naming/ldap/package.html
new file mode 100644
index 0000000..0a4e45e
--- /dev/null
+++ b/libjava/classpath/javax/naming/ldap/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.naming.ldap package.
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.naming.ldap</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>