diff options
Diffstat (limited to 'libjava/classpath/javax/naming/spi')
12 files changed, 0 insertions, 1705 deletions
diff --git a/libjava/classpath/javax/naming/spi/DirObjectFactory.java b/libjava/classpath/javax/naming/spi/DirObjectFactory.java deleted file mode 100644 index 47fb7a1..0000000 --- a/libjava/classpath/javax/naming/spi/DirObjectFactory.java +++ /dev/null @@ -1,56 +0,0 @@ -/* DirObjectFactory.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.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.directory.Attributes; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface DirObjectFactory extends ObjectFactory -{ - Object getObjectInstance(Object obj, Name name, Context nameCtx, - Hashtable<?, ?> environment, Attributes attrs) - throws Exception; -} diff --git a/libjava/classpath/javax/naming/spi/DirStateFactory.java b/libjava/classpath/javax/naming/spi/DirStateFactory.java deleted file mode 100644 index 1c0c21b..0000000 --- a/libjava/classpath/javax/naming/spi/DirStateFactory.java +++ /dev/null @@ -1,83 +0,0 @@ -/* DirStateFactory.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.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.directory.Attributes; - -/** - * @author Warren Levy (warrenl@redhat.com) - * @date June 1, 2001 - */ -public interface DirStateFactory extends StateFactory -{ - // Inner class - - public static class Result - { - private Object obj; - private Attributes outAttrs; - - public Result(Object obj, Attributes outAttrs) - { - this.obj = obj; - this.outAttrs = outAttrs; - } - - public Object getObject() - { - return obj; - } - - public Attributes getAttributes() - { - return outAttrs; - } - } - - DirStateFactory.Result getStateToBind(Object obj, Name name, - Context nameCtx, - Hashtable<?, ?> environment, - Attributes inAttrs) - throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/DirectoryManager.java b/libjava/classpath/javax/naming/spi/DirectoryManager.java deleted file mode 100644 index 4abb5f1..0000000 --- a/libjava/classpath/javax/naming/spi/DirectoryManager.java +++ /dev/null @@ -1,243 +0,0 @@ -/* DirectoryManager.java -- - Copyright (C) 2000, 2001, 2004, 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.spi; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; - -import javax.naming.CannotProceedException; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.RefAddr; -import javax.naming.Reference; -import javax.naming.Referenceable; -import javax.naming.StringRefAddr; -import javax.naming.directory.Attributes; -import javax.naming.directory.DirContext; - -/** - * @author Tom Tromey (tromey@redhat.com) - * @date June 25, 2001 - */ -public class DirectoryManager extends NamingManager -{ - // Can't instantiate this class. - DirectoryManager () - { - } - - public static DirContext getContinuationDirContext (CannotProceedException c) - throws NamingException - { - return (DirContext) getContinuationContext (c); - } - - // Try to create an object using the factory. Return null on - // failure. - private static Object tryCreateObject (ObjectFactory factory, - Object refInfo, - Name name, - Context nameCtx, - Hashtable environment, - Attributes attrs) - throws Exception - { - if (factory instanceof DirObjectFactory) - { - DirObjectFactory dof = (DirObjectFactory) factory; - return dof.getObjectInstance (refInfo, name, nameCtx, - environment, attrs); - } - else - return factory.getObjectInstance (refInfo, name, nameCtx, - environment); - } - - public static Object getObjectInstance (Object refInfo, Name name, - Context nameCtx, - Hashtable<?, ?> environment, - Attributes attrs) - throws Exception - { - ObjectFactory factory = null; - - if (ofb != null) - factory = ofb.createObjectFactory (refInfo, environment); - else - { - // First see if we have a Reference or a Referenceable. If so - // we do some special processing. - Object ref2 = refInfo; - if (refInfo instanceof Referenceable) - ref2 = ((Referenceable) refInfo).getReference (); - if (ref2 instanceof Reference) - { - Reference ref = (Reference) ref2; - - // If we have a factory class name then we use that. - String fClass = ref.getFactoryClassName (); - if (fClass != null) - { - // Exceptions here are passed to the caller. - Class k = Class.forName (fClass); - factory = (ObjectFactory) k.newInstance (); - } - else - { - // There's no factory class name. If the address is a - // StringRefAddr with address type `URL', then we try - // the URL's context factory. - Enumeration e = ref.getAll (); - while (e.hasMoreElements ()) - { - RefAddr ra = (RefAddr) e.nextElement (); - if (ra instanceof StringRefAddr - && "URL".equals (ra.getType ())) - { - factory - = (ObjectFactory) getURLContext (refInfo, - name, - nameCtx, - (String) ra.getContent (), - environment); - Object obj = tryCreateObject (factory, - refInfo, - name, - nameCtx, - environment, - attrs); - if (obj != null) - return obj; - } - } - - // Have to try the next step. - factory = null; - } - } - - // Now look at OBJECT_FACTORIES to find the factory. - if (factory == null) - { - StringTokenizer tokens = getPlusPath (Context.OBJECT_FACTORIES, - environment, nameCtx); - - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - Class k = Class.forName (klassName); - factory = (ObjectFactory) k.newInstance (); - Object obj = tryCreateObject (factory, refInfo, name, - nameCtx, environment, attrs); - if (obj != null) - return obj; - } - - // Failure. - return refInfo; - } - } - - if (factory == null) - return refInfo; - Object obj = tryCreateObject (factory, refInfo, name, - nameCtx, environment, attrs); - return obj == null ? refInfo : obj; - } - - public static DirStateFactory.Result getStateToBind (Object obj, - Name name, - Context nameCtx, - Hashtable<?, ?> environment, - Attributes attrs) - throws NamingException - { - StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, - environment, nameCtx); - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - try - { - Class k = Class.forName (klassName); - StateFactory factory = (StateFactory) k.newInstance (); - - DirStateFactory.Result result = null; - if (factory instanceof DirStateFactory) - { - DirStateFactory dsf = (DirStateFactory) factory; - result = dsf.getStateToBind (obj, name, nameCtx, environment, - attrs); - } - else - { - Object o = factory.getStateToBind (obj, name, nameCtx, - environment); - if (o != null) - result = new DirStateFactory.Result (o, attrs); - } - if (result != null) - return result; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - } - - return new DirStateFactory.Result (obj, attrs); - } -} diff --git a/libjava/classpath/javax/naming/spi/InitialContextFactory.java b/libjava/classpath/javax/naming/spi/InitialContextFactory.java deleted file mode 100644 index bd13c6e..0000000 --- a/libjava/classpath/javax/naming/spi/InitialContextFactory.java +++ /dev/null @@ -1,71 +0,0 @@ -/* InitialContextFactory.java -- - Copyright (C) 2000, 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.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.NamingException; - -/** - * <p> - * Defines a factory that creates the initial context for the beginning of the - * name resolution. JNDI allows to specify different implementations of the - * initial context at runtime. - * </p> - * <p> - * The class, implementing this interface, must be public and have a public - * parameterless constructor - * </p> - */ -public interface InitialContextFactory -{ - /** - * Create a new initial context - * - * @param environment the properties, used when creating the context. The - * implementing class will not modify the table nor keep the - * reference to it. After the method returns, the caller can safely - * reuse the table for other purposes. - * @return the new initial context - * @throws NamingException if the naming exception has occured - */ - Context getInitialContext (Hashtable<?, ?> environment) - throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java b/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java deleted file mode 100644 index 12ee888..0000000 --- a/libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java +++ /dev/null @@ -1,66 +0,0 @@ -/* InitialContextFactoryBuilder.java -- - Copyright (C) 2000, 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.spi; - -import java.util.Hashtable; - -import javax.naming.NamingException; - -/** - * Represents the builder that creates instances of the factories that produce - * initial naming contexts. JNDI allows to specifiy different initial contexts - * at runtime. The user program can install its own initial context factory - * builder. - * - * @see NamingManager#setInitialContextFactoryBuilder - */ -public interface InitialContextFactoryBuilder -{ - /** - * Create the new initial context factory - * - * @param environment the properties, used for creation of the initial - * context factory. The parameter is owned by the caller: it is safe to reuse - * the table for other purposes after the method returns. - * @return the created initial context factory, never null. - * @throws NamingException on failure - */ - InitialContextFactory createInitialContextFactory (Hashtable<?, ?> environment) - throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/NamingManager.java b/libjava/classpath/javax/naming/spi/NamingManager.java deleted file mode 100644 index d974513..0000000 --- a/libjava/classpath/javax/naming/spi/NamingManager.java +++ /dev/null @@ -1,671 +0,0 @@ -/* NamingManager.java -- Creates contexts and objects - Copyright (C) 2000, 2001, 2002, 2003, 2004, - 2006 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.spi; - -import gnu.classpath.VMStackWalker; - -import gnu.java.lang.CPStringBuilder; - -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.StringTokenizer; - -import javax.naming.CannotProceedException; -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; -import javax.naming.NoInitialContextException; -import javax.naming.RefAddr; -import javax.naming.Reference; -import javax.naming.Referenceable; -import javax.naming.StringRefAddr; - -/** - * Contains methods for creating contexts and objects referred to by - * location information. The location is specified in the scope of the - * certain naming or directory service. This class only contais static - * methods and cannot be instantiated. - */ -public class NamingManager -{ - /** - * The environment property into which getContinuationContext() stores the - * value of the CannotProceedException parameter. The value of this field - * is <i>java.naming.spi.CannotProceedException<i>. - */ - public static final String CPE = "java.naming.spi.CannotProceedException"; - - private static InitialContextFactoryBuilder icfb; - - // Package private so DirectoryManager can access it. - static ObjectFactoryBuilder ofb; - - // This class cannot be instantiated. - NamingManager () - { - } - - /** - * Checks if the initial context factory builder has been set. - * - * @return true if the builder has been set - * - * @see #setInitialContextFactoryBuilder(InitialContextFactoryBuilder) - */ - public static boolean hasInitialContextFactoryBuilder () - { - return icfb != null; - } - - /** - * Creates the initial context. If the initial object factory builder has - * been set with {@link #setObjectFactoryBuilder(ObjectFactoryBuilder)}, - * the work is delegated to this builder. Otherwise, the method searches - * for the property Context.INITIAL_CONTEXT_FACTORY first in the passed - * table and then in the system properties. The value of this property is - * uses as a class name to install the context factory. The corresponding - * class must exist, be public and have the public parameterless constructor. - * - * @param environment the properties, used to create the context. - * - * @return the created context - * - * @throws NoInitialContextException if the initial builder is not set, - * the property Context.INITIAL_CONTEXT_FACTORY is missing of the - * class, named by this property, cannot be instantiated. - * @throws NamingException if throws by the context factory - */ - public static Context getInitialContext (Hashtable<?, ?> environment) - throws NamingException - { - InitialContextFactory icf = null; - - if (icfb != null) - icf = icfb.createInitialContextFactory(environment); - else - { - String java_naming_factory_initial = null; - if (environment != null) - java_naming_factory_initial - = (String) environment.get (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - java_naming_factory_initial = - System.getProperty (Context.INITIAL_CONTEXT_FACTORY); - if (java_naming_factory_initial == null) - throw new - NoInitialContextException ("Can't find property: " - + Context.INITIAL_CONTEXT_FACTORY); - - try - { - icf = (InitialContextFactory)Class.forName - (java_naming_factory_initial, true, - Thread.currentThread().getContextClassLoader()) - .newInstance (); - } - catch (Exception exception) - { - NoInitialContextException e - = new NoInitialContextException - ("Can't load InitialContextFactory class: " - + java_naming_factory_initial); - e.setRootCause(exception); - throw e; - } - } - - return icf.getInitialContext (environment); - } - - /** - * <p> - * Creates the URL context for the given URL scheme id. - * </p> - * <p> - * The class name of the factory that creates the context has the naming - * pattern scheme-idURLContextFactory. For instance, the factory for the "ftp" - * sheme should be named "ftpURLContextFactory". - * </p> - * <p> - * The Context.URL_PKG_PREFIXES environment property contains the - * colon-separated list of the possible package prefixes. The package name is - * constructed concatenating the package prefix with the scheme id. This - * property is searched in the passed <i>environment</i> parameter and later - * in the system properties. - * </p> - * <p> - * If the factory class cannot be found in the specified packages, system will - * try to use the default internal factory for the given scheme. - * </p> - * <p> - * After the factory is instantiated, its method - * {@link ObjectFactory#getObjectInstance(Object, Name, Context, Hashtable)} - * is called to create and return the object instance. - * - * @param refInfo passed to the factory - * @param name passed to the factory - * @param nameCtx passed to the factory - * @param scheme the url scheme that must be supported by the given context - * @param environment the properties for creating the factory and context (may - * be null) - * @return the created context - * @throws NamingException if thrown by the factory when creating the context. - */ - static Context getURLContext(Object refInfo, Name name, Context nameCtx, - String scheme, Hashtable<?,?> environment) - throws NamingException - { - // Doc specifies com.sun.jndi.url as the final destination, but we cannot - // put our classes into such namespace. - String defaultPrefix = "gnu.javax.naming.jndi.url"; - - // The final default location, as specified in the documentation. - String finalPrefix = "com.sun.jndi.url"; - - CPStringBuilder allPrefixes = new CPStringBuilder(); - - String prefixes; - if (environment != null) - { - prefixes = (String) environment.get(Context.URL_PKG_PREFIXES); - if (prefixes != null) - allPrefixes.append(prefixes); - } - - prefixes = System.getProperty(Context.URL_PKG_PREFIXES); - if (prefixes != null) - { - if (allPrefixes.length() > 0) - allPrefixes.append(':'); - allPrefixes.append(prefixes); - } - - if (allPrefixes.length() > 0) - allPrefixes.append(':'); - allPrefixes.append(defaultPrefix); - allPrefixes.append(':'); - allPrefixes.append(finalPrefix); - - scheme = scheme + "." + scheme + "URLContextFactory"; - - StringTokenizer tokens = new StringTokenizer(allPrefixes.toString(), ":"); - while (tokens.hasMoreTokens()) - { - String aTry = tokens.nextToken(); - try - { - String tryClass = aTry + "." + scheme; - Class factoryClass = forName(tryClass); - if (factoryClass != null) - { - Object obj; - try - { - ObjectFactory factory = (ObjectFactory) factoryClass.newInstance(); - obj = factory.getObjectInstance(refInfo, name, nameCtx, - environment); - Context ctx = (Context) obj; - if (ctx != null) - return ctx; - } - catch (RuntimeException e) - { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - catch (NamingException _5) - { - throw _5; - } - catch (Exception _6) - { - // Anything from getObjectInstance. - } - } - - return null; - } - - /** - * Load the class with the given name. This method tries to use the context - * class loader first. If this fails, it searches for the suitable class - * loader in the caller stack trace. This method is a central point where all - * requests to find a class by name are delegated. - */ - static Class forName(String className) - { - try - { - return Class.forName(className, true, - Thread.currentThread().getContextClassLoader()); - } - catch (ClassNotFoundException nex) - { - /** - * Returns the first user defined class loader on the call stack, or - * null when no non-null class loader was found. - */ - Class[] ctx = VMStackWalker.getClassContext(); - for (int i = 0; i < ctx.length; i++) - { - // Since we live in a class loaded by the bootstrap - // class loader, getClassLoader is safe to call without - // needing to be wrapped in a privileged action. - ClassLoader cl = ctx[i].getClassLoader(); - try - { - if (cl != null) - return Class.forName(className, true, cl); - } - catch (ClassNotFoundException nex2) - { - // Try next. - } - } - } - return null; - } - - - /** - * <p> - * Creates the URL context for the given URL scheme id. - * </p> - * <p> - * The class name of the factory that creates the context has the naming - * pattern scheme-idURLContextFactory. For instance, the factory for the - * "ftp" scheme should be named "ftpURLContextFactory". - * The Context.URL_PKG_PREFIXES environment property contains the - * colon-separated list of the possible package prefixes. The package name - * is constructed by concatenating the package prefix with the scheme id. - * </p> - * <p> - * If the factory class cannot be found in the specified packages, the - * system will try to use the default internal factory for the given scheme. - * </p> - * <p> - * After the factory is instantiated, its method - * {@link ObjectFactory#getObjectInstance(Object, Name, Context, Hashtable)} - * is called to create and return the object instance. - * - * @param scheme the url scheme that must be supported by the given context - * @param environment the properties for creating the factory and context - * (may be null) - * @return the created context - * @throws NamingException if thrown by the factory when creating the - * context. - */ - public static Context getURLContext (String scheme, - Hashtable<?, ?> environment) - throws NamingException - { - return getURLContext (null, null, null, scheme, environment); - } - - /** - * Sets the initial object factory builder. - * - * @param builder the builder to set - * - * @throws SecurityException if the builder cannot be installed due - * security restrictions. - * @throws NamingException if the builder cannot be installed due other - * reasons - * @throws IllegalStateException if setting the builder repeatedly - */ - public static void setObjectFactoryBuilder (ObjectFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (ofb != null) - throw new IllegalStateException ("object factory builder already installed"); - if (builder != null) - ofb = builder; - } - - static StringTokenizer getPlusPath (String property, Hashtable env, - Context nameCtx) - throws NamingException - { - String path = (String) env.get (property); - if (nameCtx == null) - nameCtx = getInitialContext (env); - String path2 = (String) nameCtx.getEnvironment ().get (property); - if (path == null) - path = path2; - else if (path2 != null) - path += ":" + path2; - return new StringTokenizer (path != null ? path : "", ":"); - } - - /** - * <p>Creates an object for the specified name context, environment and - * referencing context object.</p> - * <p> - * If the builder factory is set by - * {@link #setObjectFactoryBuilder(ObjectFactoryBuilder)}, the call is - * delegated to that factory. Otherwise, the object is created using the - * following rules: - * <ul> - * <li>If the referencing object (refInfo) contains the factory class name, - * the object is created by this factory. If the creation fails, - * the parameter refInfo is returned as the method return value.</li> - * <li>If the referencing object has no factory class name, and the addresses - * are StringRefAddrs having the address type "URL", the object is - * created by the URL context factory. The used factory corresponds the - * the naming schema of the each URL. If the attempt to create - * the object this way is not successful, the subsequent rule is - * tried.</li> - * <li> If the refInfo is not an instance of Reference or Referencable - * (for example, null), the object is created by the factories, - * specified in the Context.OBJECT_FACTORIES property of the - * environment and the provider resource file, associated with the - * nameCtx. The value of this property is the colon separated list - * of the possible factories. If none of the factories can be - * loaded, the refInfo is returned. - * </ul> - * </p> - * <p>The object factory must be public and have the public parameterless - * constructor.</p> - * - * @param refInfo the referencing object, for which the new object must be - * created (can be null). If not null, it is usually an instance of - * the {@link Reference} or {@link Referenceable}. - * @param name the name of the object. The name is relative to - * the nameCtx naming context. The value of this parameter can be - * null if the name is not specified. - * @param nameCtx the naming context, in which scope the name of the new - * object is specified. If this parameter is null, the name is - * specified in the scope of the initial context. - * @param environment contains additional information for creating the object. - * This paramter can be null if there is no need to provide any - * additional information. - * - * @return the created object. If the creation fails, in some cases - * the parameter refInfo may be returned. - * - * @throws NamingException if the attempt to name the new object has failed - * @throws Exception if the object factory throws it. The object factory - * only throws an exception if it does not want other factories - * to be used to create the object. - */ - public static Object getObjectInstance (Object refInfo, - Name name, - Context nameCtx, - Hashtable<?, ?> environment) - throws Exception - { - ObjectFactory factory = null; - - if (ofb != null) - factory = ofb.createObjectFactory (refInfo, environment); - else - { - // First see if we have a Reference or a Referenceable. If so - // we do some special processing. - Object ref2 = refInfo; - if (refInfo instanceof Referenceable) - ref2 = ((Referenceable) refInfo).getReference (); - if (ref2 instanceof Reference) - { - Reference ref = (Reference) ref2; - - // If we have a factory class name then we use that. - String fClass = ref.getFactoryClassName (); - if (fClass != null) - { - // Exceptions here are passed to the caller. - Class k = Class.forName (fClass, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - } - else - { - // There's no factory class name. If the address is a - // StringRefAddr with address type `URL', then we try - // the URL's context factory. - Enumeration e = ref.getAll (); - while (e.hasMoreElements ()) - { - RefAddr ra = (RefAddr) e.nextElement (); - if (ra instanceof StringRefAddr - && "URL".equals (ra.getType ())) - { - factory - = (ObjectFactory) getURLContext (refInfo, - name, - nameCtx, - (String) ra.getContent (), - environment); - Object obj = factory.getObjectInstance (refInfo, - name, - nameCtx, - environment); - if (obj != null) - return obj; - } - } - - // Have to try the next step. - factory = null; - } - } - - // Now look at OBJECT_FACTORIES to find the factory. - if (factory == null) - { - StringTokenizer tokens = getPlusPath (Context.OBJECT_FACTORIES, - environment, nameCtx); - - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - factory = (ObjectFactory) k.newInstance (); - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - if (obj != null) - return obj; - } - - // Failure. - return refInfo; - } - } - - if (factory == null) - return refInfo; - Object obj = factory.getObjectInstance (refInfo, name, - nameCtx, environment); - return obj == null ? refInfo : obj; - } - - /** - * Sets the initial context factory builder. - * - * @param builder the builder to set - * - * @throws SecurityException if the builder cannot be installed due - * security restrictions. - * @throws NamingException if the builder cannot be installed due other - * reasons - * @throws IllegalStateException if setting the builder repeatedly - * - * @see #hasInitialContextFactoryBuilder() - */ - public static void setInitialContextFactoryBuilder - (InitialContextFactoryBuilder builder) - throws NamingException - { - SecurityManager sm = System.getSecurityManager (); - if (sm != null) - sm.checkSetFactory (); - // Once the builder is installed it cannot be replaced. - if (icfb != null) - throw new IllegalStateException ("ctx factory builder already installed"); - if (builder != null) - icfb = builder; - } - - /** - * Creates a context in which the context operation must be continued. - * This method is used by operations on names that span multiple namespaces. - * - * @param cpe the exception that triggered this continuation. This method - * obtains the environment ({@link CannotProceedException#getEnvironment()} - * and sets the environment property {@link #CPE} = cpe. - * - * @return a non null context for continuing the operation - * - * @throws NamingException if the naming problems have occured - */ - public static Context getContinuationContext (CannotProceedException cpe) - throws NamingException - { - Hashtable env = cpe.getEnvironment (); - if (env != null) - env.put (CPE, cpe); - - // TODO: Check if this implementation matches the API specification - try - { - Object obj = getObjectInstance (cpe.getResolvedObj(), - cpe.getAltName (), - cpe.getAltNameCtx (), - env); - if (obj != null) - return (Context) obj; - } - catch (Exception _) - { - } - - // fix stack trace for re-thrown exception (message confusing otherwise) - cpe.fillInStackTrace(); - - throw cpe; - } - - /** - * Get the object state for binding. - * - * @param obj the object, for that the binding state must be retrieved. Cannot - * be null. - * @param name the name of this object, related to the nameCtx. Can be null if - * not specified. - * @param nameCtx the naming context, to that the object name is related. Can - * be null if the name is related to the initial default context. - * @param environment the properties for creating the object state. Can be - * null if no properties are provided. - * @return the object state for binding, may be null if no changes are - * returned by the factory - * @throws NamingException - */ - public static Object getStateToBind (Object obj, Name name, - Context nameCtx, Hashtable<?, ?> environment) - throws NamingException - { - StringTokenizer tokens = getPlusPath (Context.STATE_FACTORIES, - environment, nameCtx); - while (tokens.hasMoreTokens ()) - { - String klassName = tokens.nextToken (); - try - { - Class k = Class.forName (klassName, - true, - Thread.currentThread().getContextClassLoader()); - StateFactory factory = (StateFactory) k.newInstance (); - Object o = factory.getStateToBind (obj, name, nameCtx, - environment); - if (o != null) - return o; - } - catch (ClassNotFoundException _1) - { - // Ignore it. - } - catch (ClassCastException _2) - { - // This means that the class we found was not an - // ObjectFactory or that the factory returned something - // which was not a Context. - } - catch (InstantiationException _3) - { - // If we couldn't instantiate the factory we might get - // this. - } - catch (IllegalAccessException _4) - { - // Another possibility when instantiating. - } - } - - return obj; - } -} diff --git a/libjava/classpath/javax/naming/spi/ObjectFactory.java b/libjava/classpath/javax/naming/spi/ObjectFactory.java deleted file mode 100644 index d44d2ff..0000000 --- a/libjava/classpath/javax/naming/spi/ObjectFactory.java +++ /dev/null @@ -1,76 +0,0 @@ -/* ObjectFactory.java -- - Copyright (C) 2001, 2004, 2006 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.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; - -/** - * Represents a factory for creating the object. ObjectFactory performs the - * operation, that is the opposite to the operation, performed by the - * {@link StateFactory}. Classes, implementing this interface, must be public - * and have public parameterless constructor. - */ -public interface ObjectFactory -{ - /** - * Creates the object, using the specified name and location information. The - * call of this method must be thread safe. - * - * @param refObj may provide the reference and location information. Can be null. - * @param name the name of the new object in the scope of the specified naming - * context. Can be null if the name is not specified. - * @param nameCtx the context, in which the object name is specified. Can be - * null if the name is specified in the scope of the default initial - * context. - * @param environment the properties, providing additional information on how - * to create an object. Can be null if not additional information is - * provided. - * @return the newly created object or null if the object cannot be created - * @throws Exception if this factory suggest not to try creating of this - * object by other alternative factories - * - * @see NamingManager#getObjectInstance(Object, Name, Context, Hashtable) - */ - Object getObjectInstance (Object refObj, Name name, Context nameCtx, - Hashtable<?, ?> environment) - throws Exception; -} diff --git a/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java b/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java deleted file mode 100644 index e0886d1..0000000 --- a/libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java +++ /dev/null @@ -1,70 +0,0 @@ -/* ObjectFactoryBuilder.java -- the builder that creates the object factories. - Copyright (C) 2001, 2004, 2006 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.spi; - -import java.util.Hashtable; - -import javax.naming.NamingException; -import javax.naming.Reference; -import javax.naming.Referenceable; - -/** - * Represents the builder that creates the object factories. - * - * @see NamingManager#setObjectFactoryBuilder(ObjectFactoryBuilder) - * - * @author Warren Levy (warrenl@redhat.com) - */ -public interface ObjectFactoryBuilder -{ - /** - * Create a new object using the supplied environment. - * - * @param refInfo the referencing object, for which the new object must be - * created (can be null). If not null, it is usually an instance of - * the {@link Reference} or {@link Referenceable}. - * @param environment contains the additional information about the factory - * being created. Can be null. - * @return the created object factory. The null is never returned. - * @throws NamingException - */ - ObjectFactory createObjectFactory(Object refInfo, - Hashtable<?, ?> environment) - throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/ResolveResult.java b/libjava/classpath/javax/naming/spi/ResolveResult.java deleted file mode 100644 index 3945b9b..0000000 --- a/libjava/classpath/javax/naming/spi/ResolveResult.java +++ /dev/null @@ -1,182 +0,0 @@ -/* ResolveResult.java -- - Copyright (C) 2001, 2004, 2005, 2006 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.spi; - -import java.io.Serializable; - -import javax.naming.CompositeName; -import javax.naming.InvalidNameException; -import javax.naming.Name; - -/** - * Stores the partial resolution of the name. This class contains the - * object to which part of the name has been resolved and the remaining, - * unresolved part of this name. - * - * @author Warren Levy (warrenl@redhat.com) - */ - -public class ResolveResult implements Serializable -{ - private static final long serialVersionUID = - 4552108072002407559L; - - // Serialized fields. - /** - * The object, to that part of the name has been resolved. - */ - protected Object resolvedObj; - - /** - * The remaining, unresolved part of the name. - */ - protected Name remainingName; - - /** - * Create the unitialised instance with both parts being null. - */ - protected ResolveResult() - { - } - - /** - * Create the initialised instance - * - * @param resolved the object, to that the name is partially resolved - * @param remaining the remaining unresolved part of the name. - */ - public ResolveResult(Object resolved, String remaining) - { - if (resolved == null || remaining == null) - throw new IllegalArgumentException (); - resolvedObj = resolved; - remainingName = new CompositeName (); - try - { - remainingName.add (remaining); - } - catch (InvalidNameException _) - { - } - } - - /** - * Create the initialised instance - * - * @param resolved the object, to that the name is partially resolved - * @param remaining the remaining unresolved part of the name. - */ - public ResolveResult(Object resolved, Name remaining) - { - resolvedObj = resolved; - remainingName = remaining; - } - - /** - * Get the remaining unresolved part of the name - * - * @return the remaining unresolved part of the name. - */ - public Name getRemainingName() - { - return remainingName; - } - - /** - * Get the object to that the name was partially resolved - * - * @return the object, to that the name is partially resolved - */ - public Object getResolvedObj() - { - return resolvedObj; - } - - /** - * Set the remaining unresolved name. - * - * @param name the name being set. The passed parameter is cloned, so the - * caller can reuse or modify it after the method returns. - */ - public void setRemainingName(Name name) - { - remainingName = (Name) name.clone(); - } - - /** - * Append the name to the end of the resolved name. - * - * @param name the name to append - */ - public void appendRemainingName(Name name) - { - try - { - remainingName.addAll(name); - } - catch (InvalidNameException _) - { - } - } - - /** - * Append the name to the end of the resolved name. - * - * @param name the name to append - */ - public void appendRemainingComponent(String name) - { - try - { - remainingName.add(name); - } - catch (InvalidNameException _) - { - } - } - - /** - * Set the object to that the part of the name has been resolved. - * - * @param obj the object, to that the name has been partially resolved. - */ - public void setResolvedObj(Object obj) - { - resolvedObj = obj; - } -} diff --git a/libjava/classpath/javax/naming/spi/Resolver.java b/libjava/classpath/javax/naming/spi/Resolver.java deleted file mode 100644 index 7a009fa..0000000 --- a/libjava/classpath/javax/naming/spi/Resolver.java +++ /dev/null @@ -1,62 +0,0 @@ -/* Resolver.java -- - Copyright (C) 2001, 2005, 2006 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.spi; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; - -/** - * <p>Represents the object, capable for the at least partial name resolution. - * The object is not necessay capable for the complete name resolution and - * need not implement the {@link Context}.</p> - * <p> - * Both passed parameters and returned results are owned by the caller.</p> - * - * @author Warren Levy (warrenl@redhat.com) - */ -public interface Resolver -{ - ResolveResult resolveToClass(Name name, - Class<? extends Context> contextType) - throws NamingException; - ResolveResult resolveToClass(String name, - Class<? extends Context> contextType) - throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/StateFactory.java b/libjava/classpath/javax/naming/spi/StateFactory.java deleted file mode 100644 index d674803..0000000 --- a/libjava/classpath/javax/naming/spi/StateFactory.java +++ /dev/null @@ -1,79 +0,0 @@ -/* StateFactory.java -- - Copyright (C) 2001, 2004, 2006 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.spi; - -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.Name; -import javax.naming.NamingException; - -/** - * Represents a factory, producing the object states for binding. The operation, - * performed by this factory, is the reverse operation with related to the - * operation, performed by the {@link ObjectFactory}. Classes, implementing - * this interface, must be public and have public parameterless constructor. - * - * @see DirStateFactory - * @see ObjectFactory - * @author Warren Levy (warrenl@redhat.com) - */ -public interface StateFactory -{ - /** - * Get the object state for binding. - * - * @param obj the object, for that the binding state must be retrieved. Cannot - * be null. - * @param name the name of this object, related to the nameCtx. Can be null if - * not specified. - * @param nameCtx the naming context, to that the object name is related. Can - * be null if the name is related to the initial default context. - * @param environment the properties for creating the object state. Can be - * null if no properties are provided. - * @return the object state for binding, may be null if no changes are - * returned by the factory - * @throws NamingException - * - * @see NamingManager#getStateToBind - * @see DirectoryManager#getStateToBind - */ - Object getStateToBind(Object obj, Name name, Context nameCtx, - Hashtable<?, ?> environment) throws NamingException; -} diff --git a/libjava/classpath/javax/naming/spi/package.html b/libjava/classpath/javax/naming/spi/package.html deleted file mode 100644 index b55e97a..0000000 --- a/libjava/classpath/javax/naming/spi/package.html +++ /dev/null @@ -1,46 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> -<!-- package.html - describes classes in javax.naming.spi 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.spi</title></head> - -<body> -<p></p> - -</body> -</html> |