View Javadoc
1   /*
2    * Copyright (c) 1997, 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   */
25  
26  package org.omg.CORBA;
27  
28  import org.omg.CORBA.portable.InputStream;
29  import org.omg.CORBA.portable.OutputStream;
30  import org.omg.CORBA.portable.Streamable;
31  import org.omg.CORBA.portable.IDLEntity;
32  
33  /**
34   * Serves as a container for any data that can be
35   * described in IDL or for any IDL primitive type.
36   * An <code>Any</code> object is used as a component of a
37   * <code>NamedValue</code> object, which provides information about
38   * arguments or return values in requests, and which is used to define
39   * name/value pairs in <code>Context</code> objects.
40   <p>
41   *
42   * An <code>Any</code> object consists of two parts:
43   * <OL>
44   * <LI>a data value
45   * <LI>a <code>TypeCode</code> object describing the type of the data
46   * value contained in the <code>Any</code> object.  For example,
47   * a <code>TypeCode</code> object for an array contains
48   * a field for the length of the array and a field for
49   * the type of elements in the array. (Note that in     this case, the
50   * second field of the <code>TypeCode</code> object is itself a
51   * <code>TypeCode</code> object.)
52   * </OL>
53   *
54   * <P>
55   * <a name="anyOps"</a>
56   * A large part of the <code>Any</code> class consists of pairs of methods
57   * for inserting values into and extracting values from an
58   * <code>Any</code> object.
59   * <P>
60   * For a given primitive type X, these methods are:
61   *  <dl>
62   *      <dt><code><bold> void insert_X(X x)</bold></code>
63   *      <dd> This method allows the insertion of
64   *        an instance <code>x</code> of primitive type <code>X</code>
65   *    into the <code>value</code> field of the <code>Any</code> object.
66   *    Note that the method
67   *    <code>insert_X</code> also resets the <code>Any</code> object's
68   *    <code>type</code> field if necessary.
69   *      <dt> <code><bold>X extract_X()</bold></code>
70   *      <dd> This method allows the extraction of an instance of
71   *        type <code>X</code> from the <code>Any</code> object.
72   *    <BR>
73   *    <P>
74   *    This method throws the exception <code>BAD_OPERATION</code> under two conditions:
75   *    <OL>
76   *     <LI> the type of the element contained in the <code>Any</code> object is not
77   *         <code>X</code>
78   *     <LI> the method <code>extract_X</code> is called before
79   *     the <code>value</code> field of the <code>Any</code> object
80   *     has been set
81   *    </OL>
82   * </dl>
83   * <P>
84   * There are distinct method pairs for each
85   * primitive IDL data type (<code>insert_long</code> and <code>extract_long</code>,
86   * <code>insert_string</code> and <code>extract_string</code>, and so on).<BR>
87   * <P>
88   * The class <code>Any</code> also has methods for
89   * getting and setting the type code,
90   * for testing two <code>Any</code> objects for equality,
91   * and for reading an <code>Any</code> object from a stream or
92   * writing it to a stream.
93   * <BR>
94   * @since   JDK1.2
95   */
96  abstract public class Any implements IDLEntity {
97  
98      /**
99       * Checks for equality between this <code>Any</code> object and the
100      * given <code>Any</code> object.  Two <code>Any</code> objects are
101      * equal if both their values and type codes are equal.
102      *
103      * @param a the <code>Any</code> object to test for equality
104      * @return  <code>true</code> if the <code>Any</code> objects are equal;
105      * <code>false</code> otherwise
106      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
107      *      comments for unimplemented features</a>
108      */
109     abstract public boolean equal(Any a);
110 
111     /**
112      * Returns type information for the element contained in this
113      * <code>Any</code> object.
114      *
115      * @return          the <code>TypeCode</code> object containing type information
116      *                about the value contained in this <code>Any</code> object
117      */
118     abstract public TypeCode type();
119 
120     /**
121      * Sets this <code>Any</code> object's <code>type</code> field
122      * to the given <code>TypeCode</code> object and clears its value.
123      * <P>
124      * Note that using this method to set the type code wipes out the
125      * value if there is one. The method
126      * is provided primarily so that the type may be set properly for
127      * IDL <code>out</code> parameters.  Generally, setting the type
128      * is done by the <code>insert_X</code> methods, which will set the type
129      * to X if it is not already set to X.
130      *
131      * @param t       the <code>TypeCode</code> object giving
132      *                information for the value in
133      *                this <code>Any</code> object
134      */
135     abstract public void type(TypeCode t);
136 
137     ///////////////////////////////////////////////////////////////////////////
138     // marshalling/unmarshalling routines
139 
140     /**
141      * Reads off (unmarshals) the value of an <code>Any</code> object from
142      * the given input stream using the given typecode.
143      *
144      * @param is the <code>org.omg.CORBA.portable.InputStream</code>
145      *                object from which to read
146      *                the value contained in this <code>Any</code> object
147      *
148      * @param t  a <code>TypeCode</code> object containing type information
149      *           about the value to be read
150      *
151      * @exception MARSHAL when the given <code>TypeCode</code> object is
152      *                    not consistent with the value that was contained
153      *                    in the input stream
154      */
155     abstract public void   read_value(InputStream is, TypeCode t)
156         throws MARSHAL;
157 
158     /**
159      * Writes out the value of this <code>Any</code> object
160      * to the given output stream.  If both <code>typecode</code>
161      * and <code>value</code> need to be written, use
162      * <code>create_output_stream()</code> to create an <code>OutputStream</code>,
163      * then use <code>write_any</code> on the <code>OutputStream</code>.
164      * <P>
165      * If this method is called on an <code>Any</code> object that has not
166      * had a value inserted into its <code>value</code> field, it will throw
167      * the exception <code>java.lang.NullPointerException</code>.
168      *
169      * @param os        the <code>org.omg.CORBA.portable.OutputStream</code>
170      *                object into which to marshal the value
171      *                of this <code>Any</code> object
172      *
173      */
174     abstract public void   write_value(OutputStream os);
175 
176     /**
177      * Creates an output stream into which this <code>Any</code> object's
178      * value can be marshalled.
179      *
180      * @return          the newly-created <code>OutputStream</code>
181      */
182     abstract public OutputStream  create_output_stream();
183 
184     /**
185      * Creates an input stream from which this <code>Any</code> object's value
186      * can be unmarshalled.
187      *
188      * @return          the newly-created <code>InputStream</code>
189      */
190     abstract public InputStream  create_input_stream();
191 
192     ///////////////////////////////////////////////////////////////////////////
193     // basic insertion/extraction methods
194 
195     /**
196      * Extracts the <code>short</code> in this
197      * <code>Any</code> object's <code>value</code> field.
198      *
199      * @return the <code>short</code> stored in this <code>Any</code> object
200      * @exception BAD_OPERATION if this  <code>Any</code> object
201      *              contains something other than a <code>short</code> or the
202      *              <code>value</code> field has not yet been set
203      */
204     abstract public short    extract_short() throws BAD_OPERATION;
205 
206     /**
207      * Inserts the given <code>short</code>
208      * into this <code>Any</code> object's <code>value</code> field.
209      *
210      * @param s         the <code>short</code> to insert into this
211      *                <code>Any</code> object
212      */
213     abstract public void     insert_short(short s);
214 
215     /**
216      * Extracts the <code>int</code> in this
217      * <code>Any</code> object's <code>value</code> field.
218      *
219      * @return the <code>int</code> stored in this <code>Any</code> object
220      * @exception BAD_OPERATION if this  <code>Any</code> object
221      *              contains something other than an <code>int</code> or the
222      *              <code>value</code> field has not yet been set
223      */
224     abstract public int      extract_long() throws BAD_OPERATION;
225 
226     /**
227      * Inserts the given <code>int</code>
228      * into this <code>Any</code> object's <code>value</code> field.
229      *
230      * @param l         the <code>int</code> to insert into this
231      *                <code>Any</code> object
232      */
233     abstract public void     insert_long(int l);
234 
235 
236     /**
237      * Extracts the <code>long</code> in this
238      * <code>Any</code> object's <code>value</code> field.
239      *
240      * @return the <code>long</code> stored in this <code>Any</code> object
241      * @exception BAD_OPERATION if this  <code>Any</code> object
242      *              contains something other than a <code>long</code> or the
243      *              <code>value</code> field has not yet been set
244      */
245     abstract public long     extract_longlong() throws BAD_OPERATION;
246 
247     /**
248      * Inserts the given <code>long</code>
249      * into this <code>Any</code> object's <code>value</code> field.
250      *
251      * @param l         the <code>long</code> to insert into this
252      *                <code>Any</code> object
253      */
254     abstract public void     insert_longlong(long l);
255 
256     /**
257      * Extracts the <code>short</code> in this
258      * <code>Any</code> object's <code>value</code> field.
259      *
260      * @return the <code>short</code> stored in this <code>Any</code> object
261      * @exception BAD_OPERATION if this  <code>Any</code> object
262      *              contains something other than a <code>short</code> or the
263      *              <code>value</code> field has not yet been set
264      */
265     abstract public short    extract_ushort() throws BAD_OPERATION;
266 
267     /**
268      * Inserts the given <code>short</code>
269      * into this <code>Any</code> object's <code>value</code> field.
270      *
271      * @param s         the <code>short</code> to insert into this
272      *                <code>Any</code> object
273      */
274     abstract public void     insert_ushort(short s);
275 
276     /**
277      * Extracts the <code>int</code> in this
278      * <code>Any</code> object's <code>value</code> field.
279      *
280      * @return the <code>int</code> stored in this <code>Any</code> object
281      * @exception BAD_OPERATION if this  <code>Any</code> object
282      *              contains something other than an <code>int</code> or the
283      *              <code>value</code> field has not yet been set
284      */
285     abstract public int      extract_ulong() throws BAD_OPERATION;
286 
287     /**
288      * Inserts the given <code>int</code>
289      * into this <code>Any</code> object's <code>value</code> field.
290      *
291      * @param l         the <code>int</code> to insert into this
292      *                <code>Any</code> object
293      */
294     abstract public void     insert_ulong(int l);
295 
296     /**
297      * Extracts the <code>long</code> in this
298      * <code>Any</code> object's <code>value</code> field.
299      *
300      * @return the <code>long</code> stored in this <code>Any</code> object
301      * @exception BAD_OPERATION if this  <code>Any</code> object
302      *              contains something other than a <code>long</code> or the
303      *              <code>value</code> field has not yet been set
304      */
305     abstract public long     extract_ulonglong() throws BAD_OPERATION;
306 
307     /**
308      * Inserts the given <code>long</code>
309      * into this <code>Any</code> object's <code>value</code> field.
310      *
311      * @param l         the <code>long</code> to insert into this
312      *                <code>Any</code> object
313      */
314     abstract public void     insert_ulonglong(long l);
315 
316     /**
317      * Extracts the <code>float</code> in this
318      * <code>Any</code> object's <code>value</code> field.
319      *
320      * @return the <code>float</code> stored in this <code>Any</code> object
321      * @exception BAD_OPERATION if this  <code>Any</code> object
322      *              contains something other than a <code>float</code> or the
323      *              <code>value</code> field has not yet been set
324      */
325     abstract public float    extract_float() throws BAD_OPERATION;
326 
327     /**
328      * Inserts the given <code>float</code>
329      * into this <code>Any</code> object's <code>value</code> field.
330      *
331      * @param f         the <code>float</code> to insert into this
332      *                <code>Any</code> object
333      */
334     abstract public void     insert_float(float f);
335 
336     /**
337      * Extracts the <code>double</code> in this
338      * <code>Any</code> object's <code>value</code> field.
339      *
340      * @return the <code>double</code> stored in this <code>Any</code> object
341      * @exception BAD_OPERATION if this  <code>Any</code> object
342      *              contains something other than a <code>double</code> or the
343      *              <code>value</code> field has not yet been set
344      */
345     abstract public double   extract_double() throws BAD_OPERATION;
346 
347     /**
348      * Inserts the given <code>double</code>
349      * into this <code>Any</code> object's <code>value</code> field.
350      *
351      * @param d         the <code>double</code> to insert into this
352      *                <code>Any</code> object
353      */
354     abstract public void     insert_double(double d);
355 
356     /**
357      * Extracts the <code>boolean</code> in this
358      * <code>Any</code> object's <code>value</code> field.
359      *
360      * @return the <code>boolean</code> stored in this <code>Any</code> object
361      * @exception BAD_OPERATION if this  <code>Any</code> object
362      *              contains something other than a <code>boolean</code> or the
363      *              <code>value</code> field has not yet been set
364      */
365     abstract public boolean  extract_boolean() throws BAD_OPERATION;
366 
367     /**
368      * Inserts the given <code>boolean</code>
369      * into this <code>Any</code> object's <code>value</code> field.
370      *
371      * @param b         the <code>boolean</code> to insert into this
372      *                <code>Any</code> object
373      */
374     abstract public void     insert_boolean(boolean b);
375 
376     /**
377      * Extracts the <code>char</code> in this
378      * <code>Any</code> object's <code>value</code> field.
379      *
380      * @return the <code>char</code> stored in this <code>Any</code> object
381      * @exception BAD_OPERATION if this  <code>Any</code> object
382      *              contains something other than a <code>char</code> or the
383      *              <code>value</code> field has not yet been set
384      */
385     abstract public char     extract_char() throws BAD_OPERATION;
386 
387     /**
388      * Inserts the given <code>char</code>
389      * into this <code>Any</code> object's <code>value</code> field.
390      *
391      * @param c         the <code>char</code> to insert into this
392      *                <code>Any</code> object
393      * @exception DATA_CONVERSION if there is a data conversion
394          *            error
395      */
396     abstract public void     insert_char(char c) throws DATA_CONVERSION;
397 
398     /**
399      * Extracts the <code>char</code> in this
400      * <code>Any</code> object's <code>value</code> field.
401      *
402      * @return the <code>char</code> stored in this <code>Any</code> object
403      * @exception BAD_OPERATION if this  <code>Any</code> object
404      *              contains something other than a <code>char</code> or the
405      *              <code>value</code> field has not yet been set
406      */
407     abstract public char     extract_wchar() throws BAD_OPERATION;
408 
409     /**
410      * Inserts the given <code>char</code>
411      * into this <code>Any</code> object's <code>value</code> field.
412      *
413      * @param c         the <code>char</code> to insert into this
414      *                <code>Any</code> object
415      */
416     abstract public void     insert_wchar(char c);
417 
418     /**
419      * Extracts the <code>byte</code> in this
420      * <code>Any</code> object's <code>value</code> field.
421      *
422      * @return the <code>byte</code> stored in this <code>Any</code> object
423      * @exception BAD_OPERATION if this  <code>Any</code> object
424      *              contains something other than a <code>byte</code> or the
425      *              <code>value</code> field has not yet been set
426      */
427     abstract public byte     extract_octet() throws BAD_OPERATION;
428 
429     /**
430      * Inserts the given <code>byte</code>
431      * into this <code>Any</code> object's <code>value</code> field.
432      *
433      * @param b         the <code>byte</code> to insert into this
434      *                <code>Any</code> object
435      */
436     abstract public void     insert_octet(byte b);
437 
438     /**
439      * Extracts the <code>Any</code> object in this
440      * <code>Any</code> object's <code>value</code> field.
441      *
442      * @return the <code>Any</code> object stored in this <code>Any</code> object
443      * @exception BAD_OPERATION if this <code>Any</code> object
444      *              contains something other than an <code>Any</code> object or the
445      *              <code>value</code> field has not yet been set
446      */
447     abstract public Any      extract_any() throws BAD_OPERATION;
448 
449     /**
450      * Inserts the given <code>Any</code> object
451      * into this <code>Any</code> object's <code>value</code> field.
452      *
453      * @param a         the <code>Any</code> object to insert into this
454      *                <code>Any</code> object
455      */
456     abstract public void     insert_any(Any a);
457 
458     /**
459      * Extracts the <code>org.omg.CORBA.Object</code> in this
460      * <code>Any</code> object's <code>value</code> field.
461      *
462      * @return the <code>org.omg.CORBA.Object</code> stored in
463      *         this <code>Any</code> object
464      * @exception BAD_OPERATION if this  <code>Any</code> object
465      *              contains something other than an
466      *              <code>org.omg.CORBA.Object</code> or the
467      *              <code>value</code> field has not yet been set
468      */
469     abstract public org.omg.CORBA.Object extract_Object() throws BAD_OPERATION;
470 
471     /**
472      * Inserts the given <code>org.omg.CORBA.Object</code> object
473      * into this <code>Any</code> object's <code>value</code> field.
474      *
475      * @param o         the <code>org.omg.CORBA.Object</code> object to insert into this
476      *                <code>Any</code> object
477      */
478     abstract public void insert_Object(org.omg.CORBA.Object o);
479 
480     /**
481      * Extracts the <code>java.io.Serializable</code> object in this
482      * <code>Any</code> object's <code>value</code> field.
483      *
484      * @return the <code>java.io.Serializable</code> object stored in
485      *         this <code>Any</code> object
486      * @exception BAD_OPERATION if this  <code>Any</code> object
487      *              contains something other than a <code>java.io.Serializable</code>
488      *              object or the
489      *              <code>value</code> field has not yet been set
490      */
491     abstract public java.io.Serializable extract_Value() throws BAD_OPERATION ;
492 
493     /**
494      * Inserts the given <code>java.io.Serializable</code> object
495      * into this <code>Any</code> object's <code>value</code> field.
496      *
497      * @param v         the <code>java.io.Serializable</code> object to insert into this
498      *                <code>Any</code> object
499      */
500     abstract public void insert_Value(java.io.Serializable v) ;
501 
502     /**
503      * Inserts the given <code>java.io.Serializable</code> object
504      * into this <code>Any</code> object's <code>value</code> field.
505      *
506      * @param v         the <code>java.io.Serializable</code> object to insert into this
507      *                <code>Any</code> object
508      * @param t     the <code>TypeCode</code> object that is to be inserted into
509      *              this <code>Any</code> object's <code>type</code> field
510      *              and that describes the <code>java.io.Serializable</code>
511      *              object being inserted
512          * @throws MARSHAL if the ORB has a problem marshalling or
513          *          unmarshalling parameters
514      */
515     abstract public void insert_Value(java.io.Serializable v, TypeCode t)
516         throws MARSHAL ;
517 /**
518      * Inserts the given <code>org.omg.CORBA.Object</code> object
519      * into this <code>Any</code> object's <code>value</code> field.
520      *
521      * @param o         the <code>org.omg.CORBA.Object</code> instance to insert into this
522      *                <code>Any</code> object
523      * @param t     the <code>TypeCode</code> object that is to be inserted into
524      *              this <code>Any</code> object and that describes
525      *              the <code>Object</code> being inserted
526      * @exception BAD_OPERATION if this  method is invalid for this
527          *            <code>Any</code> object
528      *
529      */
530     abstract public void insert_Object(org.omg.CORBA.Object o, TypeCode t)
531         throws BAD_PARAM;
532 
533     /**
534      * Extracts the <code>String</code> object in this
535      * <code>Any</code> object's <code>value</code> field.
536      *
537      * @return the <code>String</code> object stored in this <code>Any</code> object
538      * @exception BAD_OPERATION if this  <code>Any</code> object
539      *              contains something other than a <code>String</code> object or the
540      *              <code>value</code> field has not yet been set
541      */
542     abstract public String   extract_string() throws BAD_OPERATION;
543 
544     /**
545      * Inserts the given <code>String</code> object
546      * into this <code>Any</code> object's <code>value</code> field.
547      *
548      * @param s         the <code>String</code> object to insert into this
549      *                <code>Any</code> object
550      * @exception DATA_CONVERSION if there is a data conversion error
551      * @exception MARSHAL if the ORB has a problem marshalling or
552          *             unmarshalling parameters
553      */
554     abstract public void     insert_string(String s) throws DATA_CONVERSION, MARSHAL;
555 
556     /**
557      * Extracts the <code>String</code> object in this
558      * <code>Any</code> object's <code>value</code> field.
559      *
560      * @return the <code>String</code> object stored in this <code>Any</code> object
561      * @exception BAD_OPERATION if this  <code>Any</code> object
562      *              contains something other than a <code>String</code> object or the
563      *              <code>value</code> field has not yet been set
564      */
565     abstract public String   extract_wstring() throws BAD_OPERATION;
566 
567     /**
568      * Inserts the given <code>String</code> object
569      * into this <code>Any</code> object's <code>value</code> field.
570      *
571      * @param s         the <code>String</code> object to insert into this
572      *                <code>Any</code> object
573      * @exception MARSHAL if the ORB has a problem marshalling or
574          *             unmarshalling parameters
575      */
576     abstract public void     insert_wstring(String s) throws MARSHAL;
577 
578     /**
579      * Extracts the <code>TypeCode</code> object in this
580      * <code>Any</code> object's <code>value</code> field.
581      *
582      * @return the <code>TypeCode</code> object stored in this <code>Any</code> object
583      * @exception BAD_OPERATION if this  <code>Any</code> object
584      *              contains something other than a <code>TypeCode</code> object or the
585      *              <code>value</code> field has not yet been set
586      */
587     abstract public TypeCode extract_TypeCode() throws BAD_OPERATION;
588 
589     /**
590      * Inserts the given <code>TypeCode</code> object
591      * into this <code>Any</code> object's <code>value</code> field.
592      *
593      * @param t         the <code>TypeCode</code> object to insert into this
594      *                <code>Any</code> object
595      */
596     abstract public void           insert_TypeCode(TypeCode t);
597 
598     /**
599      * Extracts the <code>Principal</code> object in this
600      * <code>Any</code> object's <code>value</code> field.
601      * Note that the class <code>Principal</code> has been deprecated.
602      *
603      * @return the <code>Principal</code> object stored in this <code>Any</code> object
604      * @exception BAD_OPERATION if this  <code>Any</code> object
605      *              contains something other than a
606      *              <code>Principal</code> object or the
607      *              <code>value</code> field has not yet been set
608      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
609      *      comments for unimplemented features</a>
610      * @deprecated Deprecated by CORBA 2.2.
611      */
612     @Deprecated
613     public Principal extract_Principal() throws BAD_OPERATION {
614         throw new org.omg.CORBA.NO_IMPLEMENT() ;
615     }
616 
617     /**
618      * Inserts the given <code>Principal</code> object
619      * into this <code>Any</code> object's <code>value</code> field.
620      * Note that the class <code>Principal</code> has been deprecated.
621      *
622      * @param p         the <code>Principal</code> object to insert into this
623      *                <code>Any</code> object
624      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
625      *      comments for unimplemented features</a>
626      * @deprecated Deprecated by CORBA 2.2.
627      */
628     @Deprecated
629     public void    insert_Principal(Principal p) {
630         throw new org.omg.CORBA.NO_IMPLEMENT() ;
631     }
632 
633     ///////////////////////////////////////////////////////////////////////////
634     // insertion/extraction of streamables
635 
636     /**
637      * Extracts a <code>Streamable</code> from this <code>Any</code> object's
638      * <code>value</code> field.  This method allows the extraction of
639      * non-primitive IDL types.
640      *
641      * @return the <code>Streamable</code> stored in the <code>Any</code> object.
642      * @throws BAD_INV_ORDER if the caller has invoked operations in the wrong order
643      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
644      *      comments for unimplemented features</a>
645      */
646     public org.omg.CORBA.portable.Streamable extract_Streamable()
647         throws org.omg.CORBA.BAD_INV_ORDER {
648         throw new org.omg.CORBA.NO_IMPLEMENT() ;
649     }
650 
651     /**
652      * Inserts the given <code>Streamable</code> object
653      * into this <code>Any</code> object's <code>value</code> field.
654      * This method allows the insertion of non-primitive IDL types.
655      *
656      * @param s         the <code>Streamable</code> object to insert into this
657      *                <code>Any</code> object; may be a non-primitive
658      *                IDL type
659      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
660      *      comments for unimplemented features</a>
661      */
662     public void insert_Streamable(Streamable s) {
663         throw new org.omg.CORBA.NO_IMPLEMENT() ;
664     }
665 
666     /**
667      * Extracts the <code>java.math.BigDecimal</code> object in this
668      * <code>Any</code> object's <code>value</code> field.
669      *
670      * @return the <code>java.math.BigDecimal</code> object
671      *         stored in this <code>Any</code> object
672      * @exception BAD_OPERATION if this  <code>Any</code> object
673      *              contains something other than a
674      *              <code>java.math.BigDecimal</code> object or the
675      *              <code>value</code> field has not yet been set
676      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
677      *      comments for unimplemented features</a>
678      */
679     public java.math.BigDecimal extract_fixed() {
680         throw new org.omg.CORBA.NO_IMPLEMENT();
681     }
682 
683     /**
684      * Throws an <a href="package-summary.html#NO_IMPLEMENT">
685      * <code>org.omg.CORBA.NO_IMPLEMENT</code></a> exception.
686      * <P>
687      * Inserts the given <code>java.math.BigDecimal</code> object
688      * into this <code>Any</code> object's <code>value</code> field.
689      *
690      * @param value             the <code>java.math.BigDecimal</code> object
691      *                  to insert into this <code>Any</code> object
692      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
693      *      comments for unimplemented features</a>
694      */
695     public void insert_fixed(java.math.BigDecimal value) {
696         throw new org.omg.CORBA.NO_IMPLEMENT();
697     }
698 
699     /**
700      * Throws an <a href="package-summary.html#NO_IMPLEMENT">
701      * <code>org.omg.CORBA.NO_IMPLEMENT</code></a> exception.
702      * <P>
703      * Inserts the given <code>java.math.BigDecimal</code> object
704      * into this <code>Any</code> object's <code>value</code> field.
705      *
706      * @param value             the <code>java.math.BigDecimal</code> object
707      *                  to insert into this <code>Any</code> object
708      * @param type     the <code>TypeCode</code> object that is to be inserted into
709      *              this <code>Any</code> object's <code>type</code> field
710      *              and that describes the <code>java.math.BigDecimal</code>
711      *              object being inserted
712      * @throws org.omg.CORBA.BAD_INV_ORDER if this method is  invoked improperly
713      * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package
714      *      comments for unimplemented features</a>
715      */
716     public void insert_fixed(java.math.BigDecimal value, org.omg.CORBA.TypeCode type)
717         throws org.omg.CORBA.BAD_INV_ORDER
718     {
719         throw new org.omg.CORBA.NO_IMPLEMENT();
720     }
721 }