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  package org.omg.CORBA.portable;
26  
27  import org.omg.CORBA.TypeCode;
28  import org.omg.CORBA.Principal;
29  import org.omg.CORBA.Any;
30  
31  /**
32   * InputStream is the Java API for reading IDL types
33   * from CDR marshal streams. These methods are used by the ORB to
34   * unmarshal IDL types as well as to extract IDL types out of Anys.
35   * The <code>_array</code> versions of the methods can be directly
36   * used to read sequences and arrays of IDL types.
37   *
38   * @since   JDK1.2
39   */
40  
41  public abstract class InputStream extends java.io.InputStream
42  {
43      /**
44       * Reads a boolean value from this input stream.
45       *
46       * @return the <code>boolean</code> value read from this input stream
47       */
48      public abstract boolean     read_boolean();
49      /**
50       * Reads a char value from this input stream.
51       *
52       * @return the <code>char</code> value read from this input stream
53       */
54      public abstract char        read_char();
55      /**
56       * Reads a wide char value from this input stream.
57       *
58       * @return the <code>char</code> value read from this input stream
59       */
60      public abstract char        read_wchar();
61      /**
62       * Reads an octet (that is, a byte) value from this input stream.
63       *
64       * @return the <code>byte</code> value read from this input stream
65       */
66      public abstract byte        read_octet();
67      /**
68       * Reads a short value from this input stream.
69       *
70       * @return the <code>short</code> value read from this input stream
71       */
72      public abstract short       read_short();
73      /**
74       * Reads a unsigned short value from this input stream.
75       *
76       * @return the <code>short</code> value read from this input stream
77       */
78      public abstract short       read_ushort();
79      /**
80       * Reads a CORBA long (that is, Java int) value from this input stream.
81       *
82       * @return the <code>int</code> value read from this input stream
83       */
84      public abstract int         read_long();
85      /**
86       * Reads an unsigned CORBA long (that is, Java int) value from this input
87  stream.
88       *
89       * @return the <code>int</code> value read from this input stream
90       */
91      public abstract int         read_ulong();
92      /**
93       * Reads a CORBA longlong (that is, Java long) value from this input stream.
94       *
95       * @return the <code>long</code> value read from this input stream
96       */
97      public abstract long        read_longlong();
98      /**
99       * Reads a CORBA unsigned longlong (that is, Java long) value from this input
100 stream.
101      *
102      * @return the <code>long</code> value read from this input stream
103      */
104     public abstract long        read_ulonglong();
105     /**
106      * Reads a float value from this input stream.
107      *
108      * @return the <code>float</code> value read from this input stream
109      */
110     public abstract float       read_float();
111     /**
112      * Reads a double value from this input stream.
113      *
114      * @return the <code>double</code> value read from this input stream
115      */
116     public abstract double      read_double();
117     /**
118      * Reads a string value from this input stream.
119      *
120      * @return the <code>String</code> value read from this input stream
121      */
122     public abstract String      read_string();
123     /**
124      * Reads a wide string value from this input stream.
125      *
126      * @return the <code>String</code> value read from this input stream
127      */
128     public abstract String      read_wstring();
129 
130     /**
131      * Reads an array of booleans from this input stream.
132      * @param value returned array of booleans.
133      * @param offset offset on the stream.
134      * @param length length of buffer to read.
135      */
136     public abstract void        read_boolean_array(boolean[] value, int offset, int
137 length);
138     /**
139      * Reads an array of chars from this input stream.
140      * @param value returned array of chars.
141      * @param offset offset on the stream.
142      * @param length length of buffer to read.
143      */
144     public abstract void        read_char_array(char[] value, int offset, int
145 length);
146     /**
147      * Reads an array of wide chars from this input stream.
148      * @param value returned array of wide chars.
149      * @param offset offset on the stream.
150      * @param length length of buffer to read.
151      */
152     public abstract void        read_wchar_array(char[] value, int offset, int
153 length);
154     /**
155      * Reads an array of octets (that is, bytes) from this input stream.
156      * @param value returned array of octets (that is, bytes).
157      * @param offset offset on the stream.
158      * @param length length of buffer to read.
159      */
160     public abstract void        read_octet_array(byte[] value, int offset, int
161 length);
162     /**
163      * Reads an array of shorts from this input stream.
164      * @param value returned array of shorts.
165      * @param offset offset on the stream.
166      * @param length length of buffer to read.
167      */
168     public abstract void        read_short_array(short[] value, int offset, int
169 length);
170     /**
171      * Reads an array of unsigned shorts from this input stream.
172      * @param value returned array of shorts.
173      * @param offset offset on the stream.
174      * @param length length of buffer to read.
175      */
176     public abstract void        read_ushort_array(short[] value, int offset, int
177 length);
178     /**
179      * Reads an array of CORBA longs (that is, Java ints) from this input stream.
180      * @param value returned array of CORBA longs (that is, Java ints).
181      * @param offset offset on the stream.
182      * @param length length of buffer to read.
183      */
184     public abstract void        read_long_array(int[] value, int offset, int
185 length);
186     /**
187      * Reads an array of unsigned CORBA longs (that is, Java ints) from this input
188 stream.
189      * @param value returned array of CORBA longs (that is, Java ints).
190      * @param offset offset on the stream.
191      * @param length length of buffer to read.
192      */
193     public abstract void        read_ulong_array(int[] value, int offset, int
194 length);
195     /**
196      * Reads an array of CORBA longlongs (that is, Java longs) from this input
197 stream.
198      * @param value returned array of CORBA longs (that is, Java longs).
199      * @param offset offset on the stream.
200      * @param length length of buffer to read.
201      */
202     public abstract void        read_longlong_array(long[] value, int offset, int
203 length);
204     /**
205      * Reads an array of unsigned CORBA longlongs (that is, Java longs) from this
206 input stream.
207      * @param value returned array of CORBA longs (that is, Java longs).
208      * @param offset offset on the stream.
209      * @param length length of buffer to read.
210      */
211     public abstract void        read_ulonglong_array(long[] value, int offset, int
212 length);
213     /**
214      * Reads an array of floats from this input stream.
215      * @param value returned array of floats.
216      * @param offset offset on the stream.
217      * @param length length of buffer to read.
218      */
219     public abstract void        read_float_array(float[] value, int offset, int
220 length);
221     /**
222      * Reads an array of doubles from this input stream.
223      * @param value returned array of doubles.
224      * @param offset offset on the stream.
225      * @param length length of buffer to read.
226      */
227     public abstract void        read_double_array(double[] value, int offset, int
228 length);
229 
230     /**
231      * Reads a CORBA object from this input stream.
232      *
233      * @return the <code>Object</code> instance read from this input stream.
234      */
235     public abstract org.omg.CORBA.Object read_Object();
236     /**
237      * Reads a <code>TypeCode</code> from this input stream.
238      *
239      * @return the <code>TypeCode</code> instance read from this input stream.
240      */
241     public abstract TypeCode    read_TypeCode();
242     /**
243      * Reads an Any from this input stream.
244      *
245      * @return the <code>Any</code> instance read from this input stream.
246      */
247     public abstract Any         read_any();
248 
249     /**
250      * Returns principal for invocation.
251      * @return Principal for invocation.
252      * @deprecated Deprecated by CORBA 2.2.
253      */
254     @Deprecated
255     public  Principal   read_Principal() {
256         throw new org.omg.CORBA.NO_IMPLEMENT();
257     }
258 
259 
260     /**
261      * @see <a href="package-summary.html#unimpl"><code>portable</code>
262      * package comments for unimplemented features</a>
263      */
264     public int read() throws java.io.IOException {
265         throw new org.omg.CORBA.NO_IMPLEMENT();
266     }
267 
268     /**
269      * Reads a BigDecimal number.
270      * @return a java.math.BigDecimal number
271      */
272     public java.math.BigDecimal read_fixed() {
273         throw new org.omg.CORBA.NO_IMPLEMENT();
274     }
275 
276     /**
277      * Reads a CORBA context from the stream.
278      * @return a CORBA context
279      * @see <a href="package-summary.html#unimpl"><code>portable</code>
280      * package comments for unimplemented features</a>
281      */
282     public org.omg.CORBA.Context read_Context() {
283         throw new org.omg.CORBA.NO_IMPLEMENT();
284     }
285     /*
286      * The following methods were added by orbos/98-04-03: Java to IDL
287      * Mapping. These are used by RMI over IIOP.
288      */
289 
290     /**
291      * Unmarshals an object and returns a CORBA Object,
292      * which is an instance of the class passed as its argument.
293      * This class is the stub class of the expected type.
294      *
295      * @param clz  The Class object for the stub class which
296      * corresponds to the type that is statistically expected, or
297      * the Class object for the RMI/IDL interface type that
298      * is statistically expected.
299      * @return an Object instance of clz read from this stream
300      *
301      * @see <a href="package-summary.html#unimpl"><code>portable</code>
302      * package comments for unimplemented features</a>
303      */
304     public  org.omg.CORBA.Object read_Object(java.lang.Class
305                                              clz) {
306         throw new org.omg.CORBA.NO_IMPLEMENT();
307     }
308 
309     /**
310      * Returns the ORB that created this InputStream.
311      *
312      * @return the <code>ORB</code> object that created this stream
313      *
314      * @see <a href="package-summary.html#unimpl"><code>portable</code>
315      * package comments for unimplemented features</a>
316      */
317     public org.omg.CORBA.ORB orb() {
318         throw new org.omg.CORBA.NO_IMPLEMENT();
319     }
320 }