46 supporting filtering). Similarly, this facility enables the construction of an |
46 supporting filtering). Similarly, this facility enables the construction of an |
47 <code>any</code> at runtime, without having static knowledge of its type. This is especially |
47 <code>any</code> at runtime, without having static knowledge of its type. This is especially |
48 helpful for writing generic clients (bridges, browsers, debuggers, user interface tools). |
48 helpful for writing generic clients (bridges, browsers, debuggers, user interface tools). |
49 |
49 |
50 <P><code>Any</code> values can be dynamically interpreted (traversed) and constructed through |
50 <P><code>Any</code> values can be dynamically interpreted (traversed) and constructed through |
51 <tt>DynAny</tt> objects. A <tt>DynAny</tt> object is associated with a data |
51 <code>DynAny</code> objects. A <code>DynAny</code> object is associated with a data |
52 value which corresponds to a copy of the value inserted into an <tt>Any</tt>. A |
52 value which corresponds to a copy of the value inserted into an <code>Any</code>. A |
53 <tt>DynAny</tt> object may be viewed as an ordered collection of component |
53 <code>DynAny</code> object may be viewed as an ordered collection of component |
54 <tt>DynAny</tt>s. For <tt>DynAny</tt>s representing a basic type, such as <code>long</code>, |
54 <code>DynAny</code>s. For <code>DynAny</code>s representing a basic type, such as <code>long</code>, |
55 or a type without components, such as an empty exception, the ordered collection of |
55 or a type without components, such as an empty exception, the ordered collection of |
56 components is empty. |
56 components is empty. |
57 |
57 |
58 <P>Each <tt>DynAny</tt> object maintains the notion of a current position into its collection |
58 <P>Each <code>DynAny</code> object maintains the notion of a current position into its collection |
59 of component <tt>DynAny</tt>s. The current position is identified by an index value that runs |
59 of component <code>DynAny</code>s. The current position is identified by an index value that runs |
60 from 0 to n-1, where <em>n</em> is the number of components. The special index value -1 |
60 from 0 to n-1, where <em>n</em> is the number of components. The special index value -1 |
61 indicates a current position that points nowhere. |
61 indicates a current position that points nowhere. |
62 For values that cannot have a current position (such as an empty exception), |
62 For values that cannot have a current position (such as an empty exception), |
63 the index value is fixed at -1. |
63 the index value is fixed at -1. |
64 If a <code>DynAny</code> is initialized with a value that has components, the index is |
64 If a <code>DynAny</code> is initialized with a value that has components, the index is |