001: /*
002: * Copyright 1997-2004 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025: package org.omg.CORBA.portable;
026:
027: import org.omg.CORBA.TypeCode;
028: import org.omg.CORBA.Principal;
029: import org.omg.CORBA.Any;
030:
031: /**
032: * InputStream is the Java API for reading IDL types
033: * from CDR marshal streams. These methods are used by the ORB to
034: * unmarshal IDL types as well as to extract IDL types out of Anys.
035: * The <code>_array</code> versions of the methods can be directly
036: * used to read sequences and arrays of IDL types.
037: *
038: * @version 1.12, 04/22/98
039: * @since JDK1.2
040: */
041:
042: public abstract class InputStream extends java.io.InputStream {
043: /**
044: * Reads a boolean value from this input stream.
045: *
046: * @return the <code>boolean</code> value read from this input stream
047: */
048: public abstract boolean read_boolean();
049:
050: /**
051: * Reads a char value from this input stream.
052: *
053: * @return the <code>char</code> value read from this input stream
054: */
055: public abstract char read_char();
056:
057: /**
058: * Reads a wide char value from this input stream.
059: *
060: * @return the <code>char</code> value read from this input stream
061: */
062: public abstract char read_wchar();
063:
064: /**
065: * Reads an octet (that is, a byte) value from this input stream.
066: *
067: * @return the <code>byte</code> value read from this input stream
068: */
069: public abstract byte read_octet();
070:
071: /**
072: * Reads a short value from this input stream.
073: *
074: * @return the <code>short</code> value read from this input stream
075: */
076: public abstract short read_short();
077:
078: /**
079: * Reads a unsigned short value from this input stream.
080: *
081: * @return the <code>short</code> value read from this input stream
082: */
083: public abstract short read_ushort();
084:
085: /**
086: * Reads a CORBA long (that is, Java int) value from this input stream.
087: *
088: * @return the <code>int</code> value read from this input stream
089: */
090: public abstract int read_long();
091:
092: /**
093: * Reads an unsigned CORBA long (that is, Java int) value from this input
094: stream.
095: *
096: * @return the <code>int</code> value read from this input stream
097: */
098: public abstract int read_ulong();
099:
100: /**
101: * Reads a CORBA longlong (that is, Java long) value from this input stream.
102: *
103: * @return the <code>long</code> value read from this input stream
104: */
105: public abstract long read_longlong();
106:
107: /**
108: * Reads a CORBA unsigned longlong (that is, Java long) value from this input
109: stream.
110: *
111: * @return the <code>long</code> value read from this input stream
112: */
113: public abstract long read_ulonglong();
114:
115: /**
116: * Reads a float value from this input stream.
117: *
118: * @return the <code>float</code> value read from this input stream
119: */
120: public abstract float read_float();
121:
122: /**
123: * Reads a double value from this input stream.
124: *
125: * @return the <code>double</code> value read from this input stream
126: */
127: public abstract double read_double();
128:
129: /**
130: * Reads a string value from this input stream.
131: *
132: * @return the <code>String</code> value read from this input stream
133: */
134: public abstract String read_string();
135:
136: /**
137: * Reads a wide string value from this input stream.
138: *
139: * @return the <code>String</code> value read from this input stream
140: */
141: public abstract String read_wstring();
142:
143: /**
144: * Reads an array of booleans from this input stream.
145: * @param value returned array of booleans.
146: * @param offset offset on the stream.
147: * @param length length of buffer to read.
148: */
149: public abstract void read_boolean_array(boolean[] value,
150: int offset, int length);
151:
152: /**
153: * Reads an array of chars from this input stream.
154: * @param value returned array of chars.
155: * @param offset offset on the stream.
156: * @param length length of buffer to read.
157: */
158: public abstract void read_char_array(char[] value, int offset,
159: int length);
160:
161: /**
162: * Reads an array of wide chars from this input stream.
163: * @param value returned array of wide chars.
164: * @param offset offset on the stream.
165: * @param length length of buffer to read.
166: */
167: public abstract void read_wchar_array(char[] value, int offset,
168: int length);
169:
170: /**
171: * Reads an array of octets (that is, bytes) from this input stream.
172: * @param value returned array of octets (that is, bytes).
173: * @param offset offset on the stream.
174: * @param length length of buffer to read.
175: */
176: public abstract void read_octet_array(byte[] value, int offset,
177: int length);
178:
179: /**
180: * Reads an array of shorts from this input stream.
181: * @param value returned array of shorts.
182: * @param offset offset on the stream.
183: * @param length length of buffer to read.
184: */
185: public abstract void read_short_array(short[] value, int offset,
186: int length);
187:
188: /**
189: * Reads an array of unsigned shorts from this input stream.
190: * @param value returned array of shorts.
191: * @param offset offset on the stream.
192: * @param length length of buffer to read.
193: */
194: public abstract void read_ushort_array(short[] value, int offset,
195: int length);
196:
197: /**
198: * Reads an array of CORBA longs (that is, Java ints) from this input stream.
199: * @param value returned array of CORBA longs (that is, Java ints).
200: * @param offset offset on the stream.
201: * @param length length of buffer to read.
202: */
203: public abstract void read_long_array(int[] value, int offset,
204: int length);
205:
206: /**
207: * Reads an array of unsigned CORBA longs (that is, Java ints) from this input
208: stream.
209: * @param value returned array of CORBA longs (that is, Java ints).
210: * @param offset offset on the stream.
211: * @param length length of buffer to read.
212: */
213: public abstract void read_ulong_array(int[] value, int offset,
214: int length);
215:
216: /**
217: * Reads an array of CORBA longlongs (that is, Java longs) from this input
218: stream.
219: * @param value returned array of CORBA longs (that is, Java longs).
220: * @param offset offset on the stream.
221: * @param length length of buffer to read.
222: */
223: public abstract void read_longlong_array(long[] value, int offset,
224: int length);
225:
226: /**
227: * Reads an array of unsigned CORBA longlongs (that is, Java longs) from this
228: input stream.
229: * @param value returned array of CORBA longs (that is, Java longs).
230: * @param offset offset on the stream.
231: * @param length length of buffer to read.
232: */
233: public abstract void read_ulonglong_array(long[] value, int offset,
234: int length);
235:
236: /**
237: * Reads an array of floats from this input stream.
238: * @param value returned array of floats.
239: * @param offset offset on the stream.
240: * @param length length of buffer to read.
241: */
242: public abstract void read_float_array(float[] value, int offset,
243: int length);
244:
245: /**
246: * Reads an array of doubles from this input stream.
247: * @param value returned array of doubles.
248: * @param offset offset on the stream.
249: * @param length length of buffer to read.
250: */
251: public abstract void read_double_array(double[] value, int offset,
252: int length);
253:
254: /**
255: * Reads a CORBA object from this input stream.
256: *
257: * @return the <code>Object</code> instance read from this input stream.
258: */
259: public abstract org.omg.CORBA.Object read_Object();
260:
261: /**
262: * Reads a <code>TypeCode</code> from this input stream.
263: *
264: * @return the <code>TypeCode</code> instance read from this input stream.
265: */
266: public abstract TypeCode read_TypeCode();
267:
268: /**
269: * Reads an Any from this input stream.
270: *
271: * @return the <code>Any</code> instance read from this input stream.
272: */
273: public abstract Any read_any();
274:
275: /**
276: * Returns principal for invocation.
277: * @return Principal for invocation.
278: * @deprecated Deprecated by CORBA 2.2.
279: */
280: @Deprecated
281: public Principal read_Principal() {
282: throw new org.omg.CORBA.NO_IMPLEMENT();
283: }
284:
285: /**
286: * @see <a href="package-summary.html#unimpl"><code>portable</code>
287: * package comments for unimplemented features</a>
288: */
289: public int read() throws java.io.IOException {
290: throw new org.omg.CORBA.NO_IMPLEMENT();
291: }
292:
293: /**
294: * Reads a BigDecimal number.
295: * @return a java.math.BigDecimal number
296: */
297: public java.math.BigDecimal read_fixed() {
298: throw new org.omg.CORBA.NO_IMPLEMENT();
299: }
300:
301: /**
302: * Reads a CORBA context from the stream.
303: * @return a CORBA context
304: * @see <a href="package-summary.html#unimpl"><code>portable</code>
305: * package comments for unimplemented features</a>
306: */
307: public org.omg.CORBA.Context read_Context() {
308: throw new org.omg.CORBA.NO_IMPLEMENT();
309: }
310:
311: /*
312: * The following methods were added by orbos/98-04-03: Java to IDL
313: * Mapping. These are used by RMI over IIOP.
314: */
315:
316: /**
317: * Unmarshals an object and returns a CORBA Object,
318: * which is an instance of the class passed as its argument.
319: * This class is the stub class of the expected type.
320: *
321: * @param clz The Class object for the stub class which
322: * corresponds to the type that is statistically expected, or
323: * the Class object for the RMI/IDL interface type that
324: * is statistically expected.
325: * @return an Object instance of clz read from this stream
326: *
327: * @see <a href="package-summary.html#unimpl"><code>portable</code>
328: * package comments for unimplemented features</a>
329: */
330: public org.omg.CORBA.Object read_Object(java.lang.Class clz) {
331: throw new org.omg.CORBA.NO_IMPLEMENT();
332: }
333:
334: /**
335: * Returns the ORB that created this InputStream.
336: *
337: * @return the <code>ORB</code> object that created this stream
338: *
339: * @see <a href="package-summary.html#unimpl"><code>portable</code>
340: * package comments for unimplemented features</a>
341: */
342: public org.omg.CORBA.ORB orb() {
343: throw new org.omg.CORBA.NO_IMPLEMENT();
344: }
345: }
|