equal
deleted
inserted
replaced
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 * |