jdk/src/share/classes/javax/naming/CompositeName.java
changeset 21285 e740104a04f1
parent 18580 6c4badf4ffba
child 22974 4bf6c0d73bb8
equal deleted inserted replaced
21284:e6dfe841a88f 21285:e740104a04f1
    39  * The components of a composite name are numbered.  The indexes of a
    39  * The components of a composite name are numbered.  The indexes of a
    40  * composite name with N components range from 0 up to, but not including, N.
    40  * composite name with N components range from 0 up to, but not including, N.
    41  * This range may be written as [0,N).
    41  * This range may be written as [0,N).
    42  * The most significant component is at index 0.
    42  * The most significant component is at index 0.
    43  * An empty composite name has no components.
    43  * An empty composite name has no components.
    44  *<p>
    44  *
    45  * <h1>JNDI Composite Name Syntax</h1>
    45  * <h1>JNDI Composite Name Syntax</h1>
    46  * JNDI defines a standard string representation for composite names. This
    46  * JNDI defines a standard string representation for composite names. This
    47  * representation is the concatenation of the components of a composite name
    47  * representation is the concatenation of the components of a composite name
    48  * from left to right using the component separator (a forward
    48  * from left to right using the component separator (a forward
    49  * slash character (/)) to separate each component.
    49  * slash character (/)) to separate each component.
    70  * a separator) denotes a leading empty component (a component consisting
    70  * a separator) denotes a leading empty component (a component consisting
    71  * of an empty string).
    71  * of an empty string).
    72  * A trailing component separator (the composite name string ends with
    72  * A trailing component separator (the composite name string ends with
    73  * a separator) denotes a trailing empty component.
    73  * a separator) denotes a trailing empty component.
    74  * Adjacent component separators denote an empty component.
    74  * Adjacent component separators denote an empty component.
    75  *<p>
    75  *
    76  *<h1>Composite Name Examples</h1>
    76  *<h1>Composite Name Examples</h1>
    77  *This table shows examples of some composite names. Each row shows
    77  *This table shows examples of some composite names. Each row shows
    78  *the string form of a composite name and its corresponding structural form
    78  *the string form of a composite name and its corresponding structural form
    79  *(<tt>CompositeName</tt>).
    79  *(<tt>CompositeName</tt>).
    80  *<p>
    80  *
    81 <table border="1" cellpadding=3 summary="examples showing string form of composite name and its corresponding structural form (CompositeName)">
    81 <table border="1" cellpadding=3 summary="examples showing string form of composite name and its corresponding structural form (CompositeName)">
    82 
    82 
    83 <tr>
    83 <tr>
    84 <th>String Name</th>
    84 <th>String Name</th>
    85 <th>CompositeName</th>
    85 <th>CompositeName</th>
   134 
   134 
   135 <tr><td>"x//y"</td>
   135 <tr><td>"x//y"</td>
   136 <td>{"x", "", "y"}</td>
   136 <td>{"x", "", "y"}</td>
   137 </tr>
   137 </tr>
   138 </table>
   138 </table>
   139  * <p>
   139  *
   140  *<h1>Composition Examples</h1>
   140  *<h1>Composition Examples</h1>
   141  * Here are some composition examples.  The right column shows composing
   141  * Here are some composition examples.  The right column shows composing
   142  * string composite names while the left column shows composing the
   142  * string composite names while the left column shows composing the
   143  * corresponding <tt>CompositeName</tt>s.  Notice that composing the
   143  * corresponding <tt>CompositeName</tt>s.  Notice that composing the
   144  * string forms of two composite names simply involves concatenating
   144  * string forms of two composite names simply involves concatenating
   145  * their string forms together.
   145  * their string forms together.
   146 
   146 
   147 <p> <table border="1" cellpadding=3 summary="composition examples showing string names and composite names">
   147 <table border="1" cellpadding=3 summary="composition examples showing string names and composite names">
   148 
   148 
   149 <tr>
   149 <tr>
   150 <th>String Names</th>
   150 <th>String Names</th>
   151 <th>CompositeNames</th>
   151 <th>CompositeNames</th>
   152 </tr>
   152 </tr>
   186 {"x"} + {}      + {}    = {"x"}
   186 {"x"} + {}      + {}    = {"x"}
   187 </td>
   187 </td>
   188 </tr>
   188 </tr>
   189 
   189 
   190 </table>
   190 </table>
   191  *<p>
   191  *
   192  *<h1>Multithreaded Access</h1>
   192  *<h1>Multithreaded Access</h1>
   193  * A <tt>CompositeName</tt> instance is not synchronized against concurrent
   193  * A <tt>CompositeName</tt> instance is not synchronized against concurrent
   194  * multithreaded access. Multiple threads trying to access and modify a
   194  * multithreaded access. Multiple threads trying to access and modify a
   195  * <tt>CompositeName</tt> should lock the object.
   195  * <tt>CompositeName</tt> should lock the object.
   196  *
   196  *