Fri, 24 Sep 2010 22:42:14 -0700
6891766: Vulnerabilities in use of reflection in CORBA
Reviewed-by: hawtin
1 /*
2 * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
27 package org.omg.CORBA;
30 /** Enables <tt>org.omg.CORBA.Any</tt> values to be dynamically
31 * interpreted (traversed) and
32 * constructed. A <tt>DynAny</tt> object is associated with a data value
33 * which may correspond to a copy of the value inserted into an <tt>Any</tt>.
34 * The <tt>DynAny</tt> APIs enable traversal of the data value associated with an
35 * Any at runtime and extraction of the primitive constituents of the
36 * data value.
37 * @deprecated Use the new <a href="../DynamicAny/DynAny.html">DynAny</a> instead
38 */
39 @Deprecated
40 public interface DynAny extends org.omg.CORBA.Object
41 {
42 /**
43 * Returns the <code>TypeCode</code> of the object inserted into
44 * this <code>DynAny</code>.
45 *
46 * @return the <code>TypeCode</code> object.
47 */
48 public org.omg.CORBA.TypeCode type() ;
50 /**
51 * Copy the contents from one Dynamic Any into another.
52 *
53 * @param dyn_any the <code>DynAny</code> object whose contents
54 * are assigned to this <code>DynAny</code>.
55 * @throws Invalid if the source <code>DynAny</code> is
56 * invalid
57 */
58 public void assign(org.omg.CORBA.DynAny dyn_any)
59 throws org.omg.CORBA.DynAnyPackage.Invalid;
61 /**
62 * Make a <code>DynAny</code> object from an <code>Any</code>
63 * object.
64 *
65 * @param value the <code>Any</code> object.
66 * @throws Invalid if the source <code>Any</code> object is
67 * empty or bad
68 */
69 public void from_any(org.omg.CORBA.Any value)
70 throws org.omg.CORBA.DynAnyPackage.Invalid;
72 /**
73 * Convert a <code>DynAny</code> object to an <code>Any</code>
74 * object.
75 *
76 * @return the <code>Any</code> object.
77 * @throws Invalid if this <code>DynAny</code> is empty or
78 * bad.
79 * created or does not contain a meaningful value
80 */
81 public org.omg.CORBA.Any to_any()
82 throws org.omg.CORBA.DynAnyPackage.Invalid;
84 /**
85 * Destroys this <code>DynAny</code> object and frees any resources
86 * used to represent the data value associated with it. This method
87 * also destroys all <code>DynAny</code> objects obtained from it.
88 * <p>
89 * Destruction of <code>DynAny</code> objects should be handled with
90 * care, taking into account issues dealing with the representation of
91 * data values associated with <code>DynAny</code> objects. A programmer
92 * who wants to destroy a <code>DynAny</code> object but still be able
93 * to manipulate some component of the data value associated with it,
94 * should first create a <code>DynAny</code> object for the component
95 * and then make a copy of the created <code>DynAny</code> object.
96 */
97 public void destroy() ;
99 /**
100 * Clones this <code>DynAny</code> object.
101 *
102 * @return a copy of this <code>DynAny</code> object
103 */
104 public org.omg.CORBA.DynAny copy() ;
106 /**
107 * Inserts the given <code>boolean</code> as the value for this
108 * <code>DynAny</code> object.
109 *
110 * <p> If this method is called on a constructed <code>DynAny</code>
111 * object, it initializes the next component of the constructed data
112 * value associated with this <code>DynAny</code> object.
113 *
114 * @param value the <code>boolean</code> to insert into this
115 * <code>DynAny</code> object
116 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
117 * if the value inserted is not consistent with the type
118 * of the accessed component in this <code>DynAny</code> object
119 */
120 public void insert_boolean(boolean value)
121 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
123 /**
124 * Inserts the given <code>byte</code> as the value for this
125 * <code>DynAny</code> object.
126 *
127 * <p> If this method is called on a constructed <code>DynAny</code>
128 * object, it initializes the next component of the constructed data
129 * value associated with this <code>DynAny</code> object.
130 *
131 * @param value the <code>byte</code> to insert into this
132 * <code>DynAny</code> object
133 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
134 * if the value inserted is not consistent with the type
135 * of the accessed component in this <code>DynAny</code> object
136 */
137 public void insert_octet(byte value)
138 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
140 /**
141 * Inserts the given <code>char</code> as the value for this
142 * <code>DynAny</code> object.
143 *
144 * <p> If this method is called on a constructed <code>DynAny</code>
145 * object, it initializes the next component of the constructed data
146 * value associated with this <code>DynAny</code> object.
147 *
148 * @param value the <code>char</code> to insert into this
149 * <code>DynAny</code> object
150 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
151 * if the value inserted is not consistent with the type
152 * of the accessed component in this <code>DynAny</code> object
153 */
154 public void insert_char(char value)
155 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
157 /**
158 * Inserts the given <code>short</code> as the value for this
159 * <code>DynAny</code> object.
160 *
161 * <p> If this method is called on a constructed <code>DynAny</code>
162 * object, it initializes the next component of the constructed data
163 * value associated with this <code>DynAny</code> object.
164 *
165 * @param value the <code>short</code> to insert into this
166 * <code>DynAny</code> object
167 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
168 * if the value inserted is not consistent with the type
169 * of the accessed component in this <code>DynAny</code> object
170 */
171 public void insert_short(short value)
172 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
174 /**
175 * Inserts the given <code>short</code> as the value for this
176 * <code>DynAny</code> object.
177 *
178 * <p> If this method is called on a constructed <code>DynAny</code>
179 * object, it initializes the next component of the constructed data
180 * value associated with this <code>DynAny</code> object.
181 *
182 * @param value the <code>short</code> to insert into this
183 * <code>DynAny</code> object
184 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
185 * if the value inserted is not consistent with the type
186 * of the accessed component in this <code>DynAny</code> object
187 */
188 public void insert_ushort(short value)
189 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
191 /**
192 * Inserts the given <code>int</code> as the value for this
193 * <code>DynAny</code> object.
194 *
195 * <p> If this method is called on a constructed <code>DynAny</code>
196 * object, it initializes the next component of the constructed data
197 * value associated with this <code>DynAny</code> object.
198 *
199 * @param value the <code>int</code> to insert into this
200 * <code>DynAny</code> object
201 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
202 * if the value inserted is not consistent with the type
203 * of the accessed component in this <code>DynAny</code> object
204 */
205 public void insert_long(int value)
206 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
208 /**
209 * Inserts the given <code>int</code> as the value for this
210 * <code>DynAny</code> object.
211 *
212 * <p> If this method is called on a constructed <code>DynAny</code>
213 * object, it initializes the next component of the constructed data
214 * value associated with this <code>DynAny</code> object.
215 *
216 * @param value the <code>int</code> to insert into this
217 * <code>DynAny</code> object
218 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
219 * if the value inserted is not consistent with the type
220 * of the accessed component in this <code>DynAny</code> object
221 */
222 public void insert_ulong(int value)
223 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
225 /**
226 * Inserts the given <code>float</code> as the value for this
227 * <code>DynAny</code> object.
228 *
229 * <p> If this method is called on a constructed <code>DynAny</code>
230 * object, it initializes the next component of the constructed data
231 * value associated with this <code>DynAny</code> object.
232 *
233 * @param value the <code>float</code> to insert into this
234 * <code>DynAny</code> object
235 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
236 * if the value inserted is not consistent with the type
237 * of the accessed component in this <code>DynAny</code> object
238 */
239 public void insert_float(float value)
240 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
242 /**
243 * Inserts the given <code>double</code> as the value for this
244 * <code>DynAny</code> object.
245 *
246 * <p> If this method is called on a constructed <code>DynAny</code>
247 * object, it initializes the next component of the constructed data
248 * value associated with this <code>DynAny</code> object.
249 *
250 * @param value the <code>double</code> to insert into this
251 * <code>DynAny</code> object
252 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
253 * if the value inserted is not consistent with the type
254 * of the accessed component in this <code>DynAny</code> object
255 */
256 public void insert_double(double value)
257 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
259 /**
260 * Inserts the given <code>String</code> object as the value for this
261 * <code>DynAny</code> object.
262 *
263 * <p> If this method is called on a constructed <code>DynAny</code>
264 * object, it initializes the next component of the constructed data
265 * value associated with this <code>DynAny</code> object.
266 *
267 * @param value the <code>String</code> to insert into this
268 * <code>DynAny</code> object
269 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
270 * if the value inserted is not consistent with the type
271 * of the accessed component in this <code>DynAny</code> object
272 */
273 public void insert_string(String value)
274 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
276 /**
277 * Inserts the given <code>org.omg.CORBA.Object</code> as the value for this
278 * <code>DynAny</code> object.
279 *
280 * <p> If this method is called on a constructed <code>DynAny</code>
281 * object, it initializes the next component of the constructed data
282 * value associated with this <code>DynAny</code> object.
283 *
284 * @param value the <code>org.omg.CORBA.Object</code> to insert into this
285 * <code>DynAny</code> object
286 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
287 * if the value inserted is not consistent with the type
288 * of the accessed component in this <code>DynAny</code> object
289 */
290 public void insert_reference(org.omg.CORBA.Object value)
291 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
293 /**
294 * Inserts the given <code>org.omg.CORBA.TypeCode</code> as the value for this
295 * <code>DynAny</code> object.
296 *
297 * <p> If this method is called on a constructed <code>DynAny</code>
298 * object, it initializes the next component of the constructed data
299 * value associated with this <code>DynAny</code> object.
300 *
301 * @param value the <code>org.omg.CORBA.TypeCode</code> to insert into this
302 * <code>DynAny</code> object
303 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
304 * if the value inserted is not consistent with the type
305 * of the accessed component in this <code>DynAny</code> object
306 */
307 public void insert_typecode(org.omg.CORBA.TypeCode value)
308 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
310 /**
311 * Inserts the given <code>long</code> as the value for this
312 * <code>DynAny</code> object.
313 *
314 * <p> If this method is called on a constructed <code>DynAny</code>
315 * object, it initializes the next component of the constructed data
316 * value associated with this <code>DynAny</code> object.
317 *
318 * @param value the <code>long</code> to insert into this
319 * <code>DynAny</code> object
320 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
321 * if the value inserted is not consistent with the type
322 * of the accessed component in this <code>DynAny</code> object
323 */
324 public void insert_longlong(long value)
325 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
327 /**
328 * Inserts the given <code>long</code> as the value for this
329 * <code>DynAny</code> object.
330 *
331 * <p> If this method is called on a constructed <code>DynAny</code>
332 * object, it initializes the next component of the constructed data
333 * value associated with this <code>DynAny</code> object.
334 *
335 * @param value the <code>long</code> to insert into this
336 * <code>DynAny</code> object
337 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
338 * if the value inserted is not consistent with the type
339 * of the accessed component in this <code>DynAny</code> object
340 */
341 public void insert_ulonglong(long value)
342 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
344 /**
345 * Inserts the given <code>char</code> as the value for this
346 * <code>DynAny</code> object.
347 *
348 * <p> If this method is called on a constructed <code>DynAny</code>
349 * object, it initializes the next component of the constructed data
350 * value associated with this <code>DynAny</code> object.
351 *
352 * @param value the <code>char</code> to insert into this
353 * <code>DynAny</code> object
354 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
355 * if the value inserted is not consistent with the type
356 * of the accessed component in this <code>DynAny</code> object
357 */
358 public void insert_wchar(char value)
359 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
361 /**
362 * Inserts the given <code>String</code> as the value for this
363 * <code>DynAny</code> object.
364 *
365 * <p> If this method is called on a constructed <code>DynAny</code>
366 * object, it initializes the next component of the constructed data
367 * value associated with this <code>DynAny</code> object.
368 *
369 * @param value the <code>String</code> to insert into this
370 * <code>DynAny</code> object
371 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
372 * if the value inserted is not consistent with the type
373 * of the accessed component in this <code>DynAny</code> object
374 */
375 public void insert_wstring(String value)
376 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
378 /**
379 * Inserts the given <code>org.omg.CORBA.Any</code> object as the value for this
380 * <code>DynAny</code> object.
381 *
382 * <p> If this method is called on a constructed <code>DynAny</code>
383 * object, it initializes the next component of the constructed data
384 * value associated with this <code>DynAny</code> object.
385 *
386 * @param value the <code>org.omg.CORBA.Any</code> object to insert into this
387 * <code>DynAny</code> object
388 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
389 * if the value inserted is not consistent with the type
390 * of the accessed component in this <code>DynAny</code> object
391 */
392 public void insert_any(org.omg.CORBA.Any value)
393 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
395 // orbos 98-01-18: Objects By Value -- begin
397 /**
398 * Inserts the given <code>java.io.Serializable</code> object as the value for this
399 * <code>DynAny</code> object.
400 *
401 * <p> If this method is called on a constructed <code>DynAny</code>
402 * object, it initializes the next component of the constructed data
403 * value associated with this <code>DynAny</code> object.
404 *
405 * @param value the <code>java.io.Serializable</code> object to insert into this
406 * <code>DynAny</code> object
407 * @throws org.omg.CORBA.DynAnyPackage.InvalidValue
408 * if the value inserted is not consistent with the type
409 * of the accessed component in this <code>DynAny</code> object
410 */
411 public void insert_val(java.io.Serializable value)
412 throws org.omg.CORBA.DynAnyPackage.InvalidValue;
414 /**
415 * Retrieves the <code>java.io.Serializable</code> object contained
416 * in this <code>DynAny</code> object.
417 *
418 * @return the <code>java.io.Serializable</code> object that is the
419 * value for this <code>DynAny</code> object
420 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
421 * if the type code of the accessed component in this
422 * <code>DynAny</code> object is not equivalent to
423 * the type code for a <code>java.io.Serializable</code> object
424 */
425 public java.io.Serializable get_val()
426 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
428 // orbos 98-01-18: Objects By Value -- end
430 /**
431 * Retrieves the <code>boolean</code> contained
432 * in this <code>DynAny</code> object.
433 *
434 * @return the <code>boolean</code> that is the
435 * value for this <code>DynAny</code> object
436 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
437 * if the type code of the accessed component in this
438 * <code>DynAny</code> object is not equivalent to
439 * the type code for a <code>boolean</code>
440 */
441 public boolean get_boolean()
442 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
445 /**
446 * Retrieves the <code>byte</code> contained
447 * in this <code>DynAny</code> object.
448 *
449 * @return the <code>byte</code> that is the
450 * value for this <code>DynAny</code> object
451 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
452 * if the type code of the accessed component in this
453 * <code>DynAny</code> object is not equivalent to
454 * the type code for a <code>byte</code>
455 */
456 public byte get_octet()
457 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
459 /**
460 * Retrieves the <code>char</code> contained
461 * in this <code>DynAny</code> object.
462 *
463 * @return the <code>char</code> that is the
464 * value for this <code>DynAny</code> object
465 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
466 * if the type code of the accessed component in this
467 * <code>DynAny</code> object is not equivalent to
468 * the type code for a <code>char</code>
469 */
470 public char get_char()
471 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
474 /**
475 * Retrieves the <code>short</code> contained
476 * in this <code>DynAny</code> object.
477 *
478 * @return the <code>short</code> that is the
479 * value for this <code>DynAny</code> object
480 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
481 * if the type code of the accessed component in this
482 * <code>DynAny</code> object is not equivalent to
483 * the type code for a <code>short</code>
484 */
485 public short get_short()
486 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
489 /**
490 * Retrieves the <code>short</code> contained
491 * in this <code>DynAny</code> object.
492 *
493 * @return the <code>short</code> that is the
494 * value for this <code>DynAny</code> object
495 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
496 * if the type code of the accessed component in this
497 * <code>DynAny</code> object is not equivalent to
498 * the type code for a <code>short</code>
499 */
500 public short get_ushort()
501 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
504 /**
505 * Retrieves the <code>int</code> contained
506 * in this <code>DynAny</code> object.
507 *
508 * @return the <code>int</code> that is the
509 * value for this <code>DynAny</code> object
510 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
511 * if the type code of the accessed component in this
512 * <code>DynAny</code> object is not equivalent to
513 * the type code for a <code>int</code>
514 */
515 public int get_long()
516 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
519 /**
520 * Retrieves the <code>int</code> contained
521 * in this <code>DynAny</code> object.
522 *
523 * @return the <code>int</code> that is the
524 * value for this <code>DynAny</code> object
525 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
526 * if the type code of the accessed component in this
527 * <code>DynAny</code> object is not equivalent to
528 * the type code for a <code>int</code>
529 */
530 public int get_ulong()
531 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
534 /**
535 * Retrieves the <code>float</code> contained
536 * in this <code>DynAny</code> object.
537 *
538 * @return the <code>float</code> that is the
539 * value for this <code>DynAny</code> object
540 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
541 * if the type code of the accessed component in this
542 * <code>DynAny</code> object is not equivalent to
543 * the type code for a <code>float</code>
544 */
545 public float get_float()
546 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
549 /**
550 * Retrieves the <code>double</code> contained
551 * in this <code>DynAny</code> object.
552 *
553 * @return the <code>double</code> that is the
554 * value for this <code>DynAny</code> object
555 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
556 * if the type code of the accessed component in this
557 * <code>DynAny</code> object is not equivalent to
558 * the type code for a <code>double</code>
559 */
560 public double get_double()
561 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
564 /**
565 * Retrieves the <code>String</code> contained
566 * in this <code>DynAny</code> object.
567 *
568 * @return the <code>String</code> that is the
569 * value for this <code>DynAny</code> object
570 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
571 * if the type code of the accessed component in this
572 * <code>DynAny</code> object is not equivalent to
573 * the type code for a <code>String</code>
574 */
575 public String get_string()
576 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
579 /**
580 * Retrieves the <code>org.omg.CORBA.Other</code> contained
581 * in this <code>DynAny</code> object.
582 *
583 * @return the <code>org.omg.CORBA.Other</code> that is the
584 * value for this <code>DynAny</code> object
585 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
586 * if the type code of the accessed component in this
587 * <code>DynAny</code> object is not equivalent to
588 * the type code for an <code>org.omg.CORBA.Other</code>
589 */
590 public org.omg.CORBA.Object get_reference()
591 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
594 /**
595 * Retrieves the <code>org.omg.CORBA.TypeCode</code> contained
596 * in this <code>DynAny</code> object.
597 *
598 * @return the <code>org.omg.CORBA.TypeCode</code> that is the
599 * value for this <code>DynAny</code> object
600 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
601 * if the type code of the accessed component in this
602 * <code>DynAny</code> object is not equivalent to
603 * the type code for a <code>org.omg.CORBA.TypeCode</code>
604 */
605 public org.omg.CORBA.TypeCode get_typecode()
606 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
609 /**
610 * Retrieves the <code>long</code> contained
611 * in this <code>DynAny</code> object.
612 *
613 * @return the <code>long</code> that is the
614 * value for this <code>DynAny</code> object
615 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
616 * if the type code of the accessed component in this
617 * <code>DynAny</code> object is not equivalent to
618 * the type code for a <code>long</code>
619 */
620 public long get_longlong()
621 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
624 /**
625 * Retrieves the <code>long</code> contained
626 * in this <code>DynAny</code> object.
627 *
628 * @return the <code>long</code> that is the
629 * value for this <code>DynAny</code> object
630 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
631 * if the type code of the accessed component in this
632 * <code>DynAny</code> object is not equivalent to
633 * the type code for a <code>long</code>
634 */
635 public long get_ulonglong()
636 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
639 /**
640 * Retrieves the <code>char</code> contained
641 * in this <code>DynAny</code> object.
642 *
643 * @return the <code>char</code> that is the
644 * value for this <code>DynAny</code> object
645 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
646 * if the type code of the accessed component in this
647 * <code>DynAny</code> object is not equivalent to
648 * the type code for a <code>char</code>
649 */
650 public char get_wchar()
651 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
654 /**
655 * Retrieves the <code>String</code> contained
656 * in this <code>DynAny</code> object.
657 *
658 * @return the <code>String</code> that is the
659 * value for this <code>DynAny</code> object
660 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
661 * if the type code of the accessed component in this
662 * <code>DynAny</code> object is not equivalent to
663 * the type code for a <code>String</code>
664 */
665 public String get_wstring()
666 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
669 /**
670 * Retrieves the <code>org.omg.CORBA.Any</code> contained
671 * in this <code>DynAny</code> object.
672 *
673 * @return the <code>org.omg.CORBA.Any</code> that is the
674 * value for this <code>DynAny</code> object
675 * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch
676 * if the type code of the accessed component in this
677 * <code>DynAny</code> object is not equivalent to
678 * the type code for an <code>org.omg.CORBA.Any</code>
679 */
680 public org.omg.CORBA.Any get_any()
681 throws org.omg.CORBA.DynAnyPackage.TypeMismatch;
683 /**
684 * Returns a <code>DynAny</code> object reference that can
685 * be used to get/set the value of the component currently accessed.
686 * The appropriate <code>insert</code> method
687 * can be called on the resulting <code>DynAny</code> object
688 * to initialize the component.
689 * The appropriate <code>get</code> method
690 * can be called on the resulting <code>DynAny</code> object
691 * to extract the value of the component.
692 *
693 * @return a <code>DynAny</code> object reference that can be
694 * used to retrieve or set the value of the component currently
695 * accessed
696 */
697 public org.omg.CORBA.DynAny current_component() ;
699 /**
700 * Moves to the next component of this <code>DynAny</code> object.
701 * This method is used for iterating through the components of
702 * a constructed type, effectively moving a pointer from one
703 * component to the next. The pointer starts out on the first
704 * component when a <code>DynAny</code> object is created.
705 *
706 * @return <code>true</code> if the pointer points to a component;
707 * <code>false</code> if there are no more components or this
708 * <code>DynAny</code> is associated with a basic type rather than
709 * a constructed type
710 */
711 public boolean next() ;
713 /**
714 * Moves the internal pointer to the given index. Logically, this method
715 * sets a new offset for this pointer.
716 *
717 * @param index an <code>int</code> indicating the position to which
718 * the pointer should move. The first position is 0.
719 * @return <code>true</code> if the pointer points to a component;
720 * <code>false</code> if there is no component at the designated
721 * index. If this <code>DynAny</code> object is associated with a
722 * basic type, this method returns <code>false</code> for any index
723 * other than 0.
724 */
725 public boolean seek(int index) ;
727 /**
728 * Moves the internal pointer to the first component.
729 */
730 public void rewind() ;
731 }