--- old/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java 2019-03-13 15:10:01.000000000 -0400 +++ new/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java 2019-03-13 15:10:00.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -78,20 +78,20 @@ *When a context no longer needs this EventSupport, it should invoke *cleanup() on it. *

- *

Registration

+ *

Registration

*When a registration request is made, this class attempts to find an *existing notifier that's already working on the request. If one is *found, the listener is added to the notifier's list. If one is not found, *a new notifier is created for the listener. * - *

Deregistration

+ *

Deregistration

*When a deregistration request is made, this class attempts to find its *corresponding notifier. If the notifier is found, the listener is removed *from the notifier's list. If the listener is the last listener on the list, *the notifier's thread is terminated and removed from this class's hashtable. *Nothing happens if the notifier is not found. * - *

Event Dispatching

+ *

Event Dispatching

*The notifiers are responsible for gather information for generating events *requested by their respective listeners. When a notifier gets sufficient *information to generate an event, it creates invokes the @@ -101,7 +101,7 @@ *This class maintains an event queue and a dispatching thread that dequeues *events from the queue and dispatches them to the listeners. * - *

Synchronization

+ *

Synchronization

*This class is used by the main thread (LdapCtx) to add/remove listeners. *It is also used asynchronously by NamingEventNotifiers threads and *the context's Connection thread. It is used by the notifier threads to --- old/src/java.naming/share/classes/javax/naming/CompositeName.java 2019-03-13 15:10:03.000000000 -0400 +++ new/src/java.naming/share/classes/javax/naming/CompositeName.java 2019-03-13 15:10:03.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -42,7 +42,7 @@ * The most significant component is at index 0. * An empty composite name has no components. * - *

JNDI Composite Name Syntax

+ *

JNDI Composite Name Syntax

* JNDI defines a standard string representation for composite names. This * representation is the concatenation of the components of a composite name * from left to right using the component separator (a forward @@ -73,7 +73,7 @@ * a separator) denotes a trailing empty component. * Adjacent component separators denote an empty component. * - *

Composite Name Examples

+ *

Composite Name Examples

*This table shows examples of some composite names. Each row shows *the string form of a composite name and its corresponding structural form *({@code CompositeName}). @@ -140,7 +140,7 @@ * - *

Composition Examples

+ *

Composition Examples

* Here are some composition examples. The right column shows composing * string composite names while the left column shows composing the * corresponding {@code CompositeName}s. Notice that composing the @@ -195,7 +195,7 @@ * - *

Multithreaded Access

+ *

Multithreaded Access

* A {@code CompositeName} instance is not synchronized against concurrent * multithreaded access. Multiple threads trying to access and modify a * {@code CompositeName} should lock the object. --- old/src/java.naming/share/classes/javax/naming/CompoundName.java 2019-03-13 15:10:05.000000000 -0400 +++ new/src/java.naming/share/classes/javax/naming/CompoundName.java 2019-03-13 15:10:05.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -39,7 +39,7 @@ * The most significant component is at index 0. * An empty compound name has no components. * - *

Compound Name Syntax

+ *

Compound Name Syntax

* The syntax of a compound name is specified using a set of properties: *
*
jndi.syntax.direction @@ -136,7 +136,7 @@ * so that when the same string is parsed, it will yield the same components * of the original compound name. * - *

Multithreaded Access

+ *

Multithreaded Access

* A {@code CompoundName} instance is not synchronized against concurrent * multithreaded access. Multiple threads trying to access and modify a * {@code CompoundName} should lock the object. --- old/src/java.naming/share/classes/javax/naming/Context.java 2019-03-13 15:10:07.000000000 -0400 +++ new/src/java.naming/share/classes/javax/naming/Context.java 2019-03-13 15:10:06.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -32,7 +32,7 @@ * consists of a set of name-to-object bindings. * It contains methods for examining and updating these bindings. * - *

Names

+ *

Names

* 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. @@ -69,12 +69,12 @@ * names in a composite namespace, at the discretion of the service * provider. * - *

Exceptions

+ *

Exceptions

* 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. * - *

Concurrent Access

+ *

Concurrent Access

* 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 @@ -91,7 +91,7 @@ * being followed. * * - *

Parameters

+ *

Parameters

* 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. @@ -103,7 +103,7 @@ * The caller may subsequently modify it; the service provider may not. * * - *

Environment Properties

+ *

Environment Properties

*

* JNDI applications need a way to communicate various preferences * and properties that define the environment in which naming and @@ -138,7 +138,7 @@ * *

* - *

Resource Files

+ *

Resource Files

*

* To simplify the task of setting up the environment * required by a JNDI application, @@ -165,7 +165,7 @@ * There are two kinds of JNDI resource files: * provider and application. * - *

Provider Resource Files

+ *

Provider Resource Files

* * Each service provider has an optional resource that lists properties * specific to that provider. The name of this resource is: @@ -200,7 +200,7 @@ * The service provider's documentation should clearly state which * properties are allowed; other properties in the file will be ignored. * - *

Application Resource Files

+ *

Application Resource Files

* * When an application is deployed, it will generally have several * codebase directories and JARs in its classpath. JNDI locates (using @@ -228,7 +228,7 @@ * collects and uses all of these export lists when searching for factory * classes. * - *

Search Algorithm for Properties

+ *

Search Algorithm for Properties

* * When JNDI constructs an initial context, the context's environment * is initialized with properties defined in the environment parameter --- old/src/java.naming/share/classes/javax/naming/directory/DirContext.java 2019-03-13 15:10:09.000000000 -0400 +++ new/src/java.naming/share/classes/javax/naming/directory/DirContext.java 2019-03-13 15:10:08.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -32,7 +32,7 @@ * methods for examining and updating attributes * associated with objects, and for searching the directory. * - *

Names

+ *

Names

* Each name passed as an argument to a {@code DirContext} method is relative * to that context. The empty name is used to name the context itself. * The name parameter may never be null. @@ -51,7 +51,7 @@ * name argument to the {@code Context} methods. These same rules * apply to the name argument to the {@code DirContext} methods. * - *

Attribute Models

+ *

Attribute Models

* There are two basic models of what attributes should be * associated with. First, attributes may be directly associated with a * DirContext object. @@ -81,7 +81,7 @@ * whether an object's attributes are stored as part of the object, or stored * within the parent object and associated with the object's name. * - *

Attribute Type Names

+ *

Attribute Type Names

* In the {@code getAttributes()} and {@code search()} methods, * you can supply the attributes to return by supplying a list of * attribute names (strings). @@ -113,7 +113,7 @@ * * * - *

Operational Attributes

+ *

Operational Attributes

*

* Some directories have the notion of "operational attributes" which are * attributes associated with a directory object for administrative @@ -127,7 +127,7 @@ * In order to retrieve operational attributes, you must name them explicitly. * * - *

Named Context

+ *

Named Context

*

* There are certain methods in which the name must resolve to a context * (for example, when searching a single level context). The documentation @@ -138,7 +138,7 @@ * Aside from these methods, there is no requirement that the * named object be a DirContext. * - *

Parameters

+ *

Parameters

*

* An {@code Attributes}, {@code SearchControls}, or array object * passed as a parameter to any method will not be modified by the @@ -150,7 +150,7 @@ * the caller. The caller may subsequently modify it; the service * provider will not. * - *

Exceptions

+ *

Exceptions

*

* All the methods in this interface can throw a NamingException or * any of its subclasses. See NamingException and their subclasses --- old/src/java.naming/share/classes/javax/naming/event/EventContext.java 2019-03-13 15:10:11.000000000 -0400 +++ new/src/java.naming/share/classes/javax/naming/event/EventContext.java 2019-03-13 15:10:10.000000000 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -34,7 +34,7 @@ * Contains methods for registering/deregistering listeners to be notified of * events fired when objects named in a context changes. * - *

Target

+ *

Target

* The name parameter in the {@code addNamingListener()} methods is referred * to as the target. The target, along with the scope, identify * the object(s) that the listener is interested in. @@ -59,7 +59,7 @@ * whether an {@code EventContext} supports registration * of nonexistent targets. * - *

Event Source

+ *

Event Source

* The {@code EventContext} instance on which you invoke the * registration methods is the event source of the events that are * (potentially) generated. @@ -93,7 +93,7 @@ * it needs to keep a reference to the listener in order to remove it * later). It cannot expect to do a {@code lookup()} and get another instance of * an {@code EventContext} on which to perform the deregistration. - *

Lifetime of Registration

+ *

Lifetime of Registration

* A registered listener becomes deregistered when: *