< prev index next >

src/java.naming/share/classes/javax/naming/Context.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 30,40 **** /** * This interface represents a naming context, which * consists of a set of name-to-object bindings. * It contains methods for examining and updating these bindings. * ! * <h1>Names</h1> * Each name passed as an argument to a {@code Context} method is relative * to that context. The empty name is used to name the context itself. * A name parameter may never be null. * <p> * Most of the methods have overloaded versions with one taking a --- 30,40 ---- /** * This interface represents a naming context, which * consists of a set of name-to-object bindings. * It contains methods for examining and updating these bindings. * ! * <h2>Names</h2> * Each name passed as an argument to a {@code Context} method is relative * to that context. The empty name is used to name the context itself. * A name parameter may never be null. * <p> * Most of the methods have overloaded versions with one taking a
*** 67,82 **** * either {@code Name} or {@code String} forms) and the names returned in * {@code NamingEnumeration} may be names in their own namespace rather than * names in a composite namespace, at the discretion of the service * provider. * ! *<h1>Exceptions</h1> * All the methods in this interface can throw a {@code NamingException} or * any of its subclasses. See {@code NamingException} and their subclasses * for details on each exception. * ! *<h1>Concurrent Access</h1> * A Context instance is not guaranteed to be synchronized against * concurrent access by multiple threads. Threads that need to access * a single Context instance concurrently should synchronize amongst * themselves and provide the necessary locking. Multiple threads * each manipulating a different Context instance need not --- 67,82 ---- * either {@code Name} or {@code String} forms) and the names returned in * {@code NamingEnumeration} may be names in their own namespace rather than * names in a composite namespace, at the discretion of the service * provider. * ! *<h2>Exceptions</h2> * All the methods in this interface can throw a {@code NamingException} or * any of its subclasses. See {@code NamingException} and their subclasses * for details on each exception. * ! *<h2>Concurrent Access</h2> * A Context instance is not guaranteed to be synchronized against * concurrent access by multiple threads. Threads that need to access * a single Context instance concurrently should synchronize amongst * themselves and provide the necessary locking. Multiple threads * each manipulating a different Context instance need not
*** 89,99 **** * not considered to have completed while the enumeration is still in * use, or while any referrals generated by that operation are still * being followed. * * ! *<h1>Parameters</h1> * A {@code Name} parameter passed to any method of the * {@code Context} interface or one of its subinterfaces * will not be modified by the service provider. * The service provider may keep a reference to it * for the duration of the operation, including any enumeration of the --- 89,99 ---- * not considered to have completed while the enumeration is still in * use, or while any referrals generated by that operation are still * being followed. * * ! *<h2>Parameters</h2> * A {@code Name} parameter passed to any method of the * {@code Context} interface or one of its subinterfaces * will not be modified by the service provider. * The service provider may keep a reference to it * for the duration of the operation, including any enumeration of the
*** 101,111 **** * The caller should not modify the object during this time. * A {@code Name} returned by any such method is owned by the caller. * The caller may subsequently modify it; the service provider may not. * * ! *<h1>Environment Properties</h1> *<p> * JNDI applications need a way to communicate various preferences * and properties that define the environment in which naming and * directory services are accessed. For example, a context might * require specification of security credentials in order to access --- 101,111 ---- * The caller should not modify the object during this time. * A {@code Name} returned by any such method is owned by the caller. * The caller may subsequently modify it; the service provider may not. * * ! *<h2>Environment Properties</h2> *<p> * JNDI applications need a way to communicate various preferences * and properties that define the environment in which naming and * directory services are accessed. For example, a context might * require specification of security credentials in order to access
*** 136,146 **** * passwords should not be stored there unless the implementation is * known to protect it. * *<p> *<a id=RESOURCEFILES></a> ! *<h1>Resource Files</h1> *<p> * To simplify the task of setting up the environment * required by a JNDI application, * application components and service providers may be distributed * along with <em>resource files.</em> --- 136,146 ---- * passwords should not be stored there unless the implementation is * known to protect it. * *<p> *<a id=RESOURCEFILES></a> ! *<h2>Resource Files</h2> *<p> * To simplify the task of setting up the environment * required by a JNDI application, * application components and service providers may be distributed * along with <em>resource files.</em>
*** 163,173 **** * passwords should not be stored there. *<p> * There are two kinds of JNDI resource files: * <em>provider</em> and <em>application</em>. * ! * <h2>Provider Resource Files</h2> * * Each service provider has an optional resource that lists properties * specific to that provider. The name of this resource is: * <blockquote> * [<em>prefix</em>/]{@code jndiprovider.properties} --- 163,173 ---- * passwords should not be stored there. *<p> * There are two kinds of JNDI resource files: * <em>provider</em> and <em>application</em>. * ! * <h3>Provider Resource Files</h3> * * Each service provider has an optional resource that lists properties * specific to that provider. The name of this resource is: * <blockquote> * [<em>prefix</em>/]{@code jndiprovider.properties}
*** 198,208 **** * Properties other than these may be set in the provider * resource file at the discretion of the service provider. * The service provider's documentation should clearly state which * properties are allowed; other properties in the file will be ignored. * ! * <h2>Application Resource Files</h2> * * When an application is deployed, it will generally have several * codebase directories and JARs in its classpath. JNDI locates (using * {@link ClassLoader#getResources ClassLoader.getResources()}) * all <em>application resource files</em> named {@code jndi.properties} --- 198,208 ---- * Properties other than these may be set in the provider * resource file at the discretion of the service provider. * The service provider's documentation should clearly state which * properties are allowed; other properties in the file will be ignored. * ! * <h3>Application Resource Files</h3> * * When an application is deployed, it will generally have several * codebase directories and JARs in its classpath. JNDI locates (using * {@link ClassLoader#getResources ClassLoader.getResources()}) * all <em>application resource files</em> named {@code jndi.properties}
*** 226,236 **** * Using this scheme, each deployable component is responsible for * listing the factories that it exports. JNDI automatically * collects and uses all of these export lists when searching for factory * classes. * ! * <h2>Search Algorithm for Properties</h2> * * When JNDI constructs an initial context, the context's environment * is initialized with properties defined in the environment parameter * passed to the constructor, the system properties, * and the application resource files. See --- 226,236 ---- * Using this scheme, each deployable component is responsible for * listing the factories that it exports. JNDI automatically * collects and uses all of these export lists when searching for factory * classes. * ! * <h3>Search Algorithm for Properties</h3> * * When JNDI constructs an initial context, the context's environment * is initialized with properties defined in the environment parameter * passed to the constructor, the system properties, * and the application resource files. See
< prev index next >