1 /*
   2  * Copyright (c) 1998, 2015, 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 /** Defines the methods used to read primitive data types from input streams
  29 * for unmarshaling custom value types.  This interface is used by user
  30 * written custom unmarshaling code for custom value types.
  31 * @see org.omg.CORBA.DataOutputStream
  32 * @see org.omg.CORBA.CustomMarshal
  33 */
  34 public interface DataInputStream extends org.omg.CORBA.portable.ValueBase
  35 {
  36     /** Reads an IDL <code>Any</code> value from the input stream.
  37     * @return  the <code>Any</code> read.
  38     * @throws org.omg.CORBA.MARSHAL
  39     * If an inconsistency is detected, including not having registered
  40     * a streaming policy, then the standard system exception MARSHAL is raised.
  41     */
  42     org.omg.CORBA.Any read_any ();
  43 
  44     /** Reads an IDL boolean value from the input stream.
  45     * @return  the boolean read.
  46     * @throws org.omg.CORBA.MARSHAL
  47     * If an inconsistency is detected, including not having registered
  48     * a streaming policy, then the standard system exception MARSHAL is raised.
  49     */
  50     boolean read_boolean ();
  51 
  52     /** Reads an IDL character value from the input stream.
  53     * @return  the character read.
  54     * @throws org.omg.CORBA.MARSHAL
  55     * If an inconsistency is detected, including not having registered
  56     * a streaming policy, then the standard system exception MARSHAL is raised.
  57     */
  58     char read_char ();
  59 
  60     /** Reads an IDL wide character value from the input stream.
  61     * @return  the wide character read.
  62     * @throws org.omg.CORBA.MARSHAL
  63     * If an inconsistency is detected, including not having registered
  64     * a streaming policy, then the standard system exception MARSHAL is raised.
  65     */
  66     char read_wchar ();
  67 
  68     /** Reads an IDL octet value from the input stream.
  69     * @return  the octet value read.
  70     * @throws org.omg.CORBA.MARSHAL
  71     * If an inconsistency is detected, including not having registered
  72     * a streaming policy, then the standard system exception MARSHAL is raised.
  73     */
  74     byte read_octet ();
  75 
  76     /** Reads an IDL short from the input stream.
  77     * @return  the short read.
  78     * @throws org.omg.CORBA.MARSHAL
  79     * If an inconsistency is detected, including not having registered
  80     * a streaming policy, then the standard system exception MARSHAL is raised.
  81     */
  82     short read_short ();
  83 
  84     /** Reads an IDL unsigned short from the input stream.
  85     * @return  the unsigned short read.
  86     * @throws org.omg.CORBA.MARSHAL
  87     * If an inconsistency is detected, including not having registered
  88     * a streaming policy, then the standard system exception MARSHAL is raised.
  89     */
  90     short read_ushort ();
  91 
  92     /** Reads an IDL long from the input stream.
  93     * @return  the long read.
  94     * @throws org.omg.CORBA.MARSHAL
  95     * If an inconsistency is detected, including not having registered
  96     * a streaming policy, then the standard system exception MARSHAL is raised.
  97     */
  98     int read_long ();
  99 
 100     /** Reads an IDL unsigned long from the input stream.
 101     * @return  the unsigned long read.
 102     * @throws org.omg.CORBA.MARSHAL
 103     * If an inconsistency is detected, including not having registered
 104     * a streaming policy, then the standard system exception MARSHAL is raised.
 105     */
 106     int read_ulong ();
 107 
 108     /** Reads an IDL long long from the input stream.
 109     * @return  the long long read.
 110     * @throws org.omg.CORBA.MARSHAL
 111     * If an inconsistency is detected, including not having registered
 112     * a streaming policy, then the standard system exception MARSHAL is raised.
 113     */
 114     long read_longlong ();
 115 
 116     /** Reads an unsigned IDL long long from the input stream.
 117     * @return  the unsigned long long read.
 118     * @throws org.omg.CORBA.MARSHAL
 119     * If an inconsistency is detected, including not having registered
 120     * a streaming policy, then the standard system exception MARSHAL is raised.
 121     */
 122     long read_ulonglong ();
 123 
 124     /** Reads an IDL float from the input stream.
 125     * @return  the float read.
 126     * @throws org.omg.CORBA.MARSHAL
 127     * If an inconsistency is detected, including not having registered
 128     * a streaming policy, then the standard system exception MARSHAL is raised.
 129     */
 130     float read_float ();
 131 
 132     /** Reads an IDL double from the input stream.
 133     * @return  the double read.
 134     * @throws org.omg.CORBA.MARSHAL
 135     * If an inconsistency is detected, including not having registered
 136     * a streaming policy, then the standard system exception MARSHAL is raised.
 137     */
 138     double read_double ();
 139     // read_longdouble not supported by IDL/Java mapping
 140 
 141     /** Reads an IDL string from the input stream.
 142     * @return  the string read.
 143     * @throws org.omg.CORBA.MARSHAL
 144     * If an inconsistency is detected, including not having registered
 145     * a streaming policy, then the standard system exception MARSHAL is raised.
 146     */
 147     String read_string ();
 148 
 149     /** Reads an IDL wide string from the input stream.
 150     * @return  the wide string read.
 151     * @throws org.omg.CORBA.MARSHAL
 152     * If an inconsistency is detected, including not having registered
 153     * a streaming policy, then the standard system exception MARSHAL is raised.
 154     */
 155     String read_wstring ();
 156 
 157     /** Reads an IDL CORBA::Object from the input stream.
 158     * @return  the CORBA::Object read.
 159     * @throws org.omg.CORBA.MARSHAL
 160     * If an inconsistency is detected, including not having registered
 161     * a streaming policy, then the standard system exception MARSHAL is raised.
 162     */
 163     org.omg.CORBA.Object read_Object ();
 164 
 165     /** Reads an IDL Abstract interface from the input stream.
 166     * @return  the Abstract interface read.
 167     * @throws org.omg.CORBA.MARSHAL
 168     * If an inconsistency is detected, including not having registered
 169     * a streaming policy, then the standard system exception MARSHAL is raised.
 170     */
 171     java.lang.Object read_Abstract ();
 172 
 173     /** Reads an IDL value type from the input stream.
 174     * @return  the value type read.
 175     * @throws org.omg.CORBA.MARSHAL
 176     * If an inconsistency is detected, including not having registered
 177     * a streaming policy, then the standard system exception MARSHAL is raised.
 178     */
 179     java.io.Serializable read_Value ();
 180 
 181     /** Reads an IDL typecode from the input stream.
 182     * @return  the typecode read.
 183     * @throws org.omg.CORBA.MARSHAL
 184     * If an inconsistency is detected, including not having registered
 185     * a streaming policy, then the standard system exception MARSHAL is raised.
 186     */
 187     org.omg.CORBA.TypeCode read_TypeCode ();
 188 
 189     /** Reads array of IDL Anys from offset for length elements from the
 190     * input stream.
 191     * @param seq The out parameter holder for the array to be read.
 192     * @param offset The index into seq of the first element to read from the
 193     * input stream.
 194     * @param length The number of elements to read from the input stream.
 195     * @throws org.omg.CORBA.MARSHAL
 196     * If an inconsistency is detected, including not having registered
 197     * a streaming policy, then the standard system exception MARSHAL is raised.
 198     */
 199     void read_any_array (org.omg.CORBA.AnySeqHolder seq, int offset, int length);
 200 
 201     /** Reads array of IDL booleans from offset for length elements from the
 202     * input stream.
 203     * @param seq The out parameter holder for the array to be read.
 204     * @param offset The index into seq of the first element to read from the
 205     * input stream.
 206     * @param length The number of elements to read from the input stream.
 207     * @throws org.omg.CORBA.MARSHAL
 208     * If an inconsistency is detected, including not having registered
 209     * a streaming policy, then the standard system exception MARSHAL is raised.
 210     */
 211     void read_boolean_array (org.omg.CORBA.BooleanSeqHolder seq, int offset, int length);
 212 
 213     /** Reads array of IDL characters from offset for length elements from the
 214     * input stream.
 215     * @param seq The out parameter holder for the array to be read.
 216     * @param offset The index into seq of the first element to read from the
 217     * input stream.
 218     * @param length The number of elements to read from the input stream.
 219     * @throws org.omg.CORBA.MARSHAL
 220     * If an inconsistency is detected, including not having registered
 221     * a streaming policy, then the standard system exception MARSHAL is raised.
 222     */
 223     void read_char_array (org.omg.CORBA.CharSeqHolder seq, int offset, int length);
 224 
 225     /** Reads array of IDL wide characters from offset for length elements from the
 226     * input stream.
 227     * @param seq The out parameter holder for the array to be read.
 228     * @param offset The index into seq of the first element to read from the
 229     * input stream.
 230     * @param length The number of elements to read from the input stream.
 231     * @throws org.omg.CORBA.MARSHAL
 232     * If an inconsistency is detected, including not having registered
 233     * a streaming policy, then the standard system exception MARSHAL is raised.
 234     */
 235     void read_wchar_array (org.omg.CORBA.WCharSeqHolder seq, int offset, int length);
 236 
 237     /** Reads array of IDL octets from offset for length elements from the
 238     * input stream.
 239     * @param seq The out parameter holder for the array to be read.
 240     * @param offset The index into seq of the first element to read from the
 241     * input stream.
 242     * @param length The number of elements to read from the input stream.
 243     * @throws org.omg.CORBA.MARSHAL
 244     * If an inconsistency is detected, including not having registered
 245     * a streaming policy, then the standard system exception MARSHAL is raised.
 246     */
 247     void read_octet_array (org.omg.CORBA.OctetSeqHolder seq, int offset, int length);
 248 
 249     /** Reads array of IDL shorts from offset for length elements from the
 250     * input stream.
 251     * @param seq The out parameter holder for the array to be read.
 252     * @param offset The index into seq of the first element to read from the
 253     * input stream.
 254     * @param length The number of elements to read from the input stream.
 255     * @throws org.omg.CORBA.MARSHAL
 256     * If an inconsistency is detected, including not having registered
 257     * a streaming policy, then the standard system exception MARSHAL is raised.
 258     */
 259     void read_short_array (org.omg.CORBA.ShortSeqHolder seq, int offset, int length);
 260 
 261     /** Reads array of IDL unsigned shorts from offset for length elements from the
 262     * input stream.
 263     * @param seq The out parameter holder for the array to be read.
 264     * @param offset The index into seq of the first element to read from the
 265     * input stream.
 266     * @param length The number of elements to read from the input stream.
 267     * @throws org.omg.CORBA.MARSHAL
 268     * If an inconsistency is detected, including not having registered
 269     * a streaming policy, then the standard system exception MARSHAL is raised.
 270     */
 271     void read_ushort_array (org.omg.CORBA.UShortSeqHolder seq, int offset, int length);
 272 
 273     /** Reads array of IDL longs from offset for length elements from the
 274     * input stream.
 275     * @param seq The out parameter holder for the array to be read.
 276     * @param offset The index into seq of the first element to read from the
 277     * input stream.
 278     * @param length The number of elements to read from the input stream.
 279     * @throws org.omg.CORBA.MARSHAL
 280     * If an inconsistency is detected, including not having registered
 281     * a streaming policy, then the standard system exception MARSHAL is raised.
 282     */
 283     void read_long_array (org.omg.CORBA.LongSeqHolder seq, int offset, int length);
 284 
 285     /** Reads array of IDL unsigned longs from offset for length elements from the
 286     * input stream.
 287     * @param seq The out parameter holder for the array to be read.
 288     * @param offset The index into seq of the first element to read from the
 289     * input stream.
 290     * @param length The number of elements to read from the input stream.
 291     * @throws org.omg.CORBA.MARSHAL
 292     * If an inconsistency is detected, including not having registered
 293     * a streaming policy, then the standard system exception MARSHAL is raised.
 294     */
 295     void read_ulong_array (org.omg.CORBA.ULongSeqHolder seq, int offset, int length);
 296 
 297     /** Reads array of IDL unsigned long longs from offset for length elements from the
 298     * input stream.
 299     * @param seq The out parameter holder for the array to be read.
 300     * @param offset The index into seq of the first element to read from the
 301     * input stream.
 302     * @param length The number of elements to read from the input stream.
 303     * @throws org.omg.CORBA.MARSHAL
 304     * If an inconsistency is detected, including not having registered
 305     * a streaming policy, then the standard system exception MARSHAL is raised.
 306     */
 307     void read_ulonglong_array (org.omg.CORBA.ULongLongSeqHolder seq, int offset, int length);
 308 
 309     /** Reads array of IDL long longs from offset for length elements from the
 310     * input stream.
 311     * @param seq The out parameter holder for the array to be read.
 312     * @param offset The index into seq of the first element to read from the
 313     * input stream.
 314     * @param length The number of elements to read from the input stream.
 315     * @throws org.omg.CORBA.MARSHAL
 316     * If an inconsistency is detected, including not having registered
 317     * a streaming policy, then the standard system exception MARSHAL is raised.
 318     */
 319     void read_longlong_array (org.omg.CORBA.LongLongSeqHolder seq, int offset, int length);
 320 
 321     /** Reads array of IDL floats from offset for length elements from the
 322     * input stream.
 323     * @param seq The out parameter holder for the array to be read.
 324     * @param offset The index into seq of the first element to read from the
 325     * input stream.
 326     * @param length The number of elements to read from the input stream.
 327     * @throws org.omg.CORBA.MARSHAL
 328     * If an inconsistency is detected, including not having registered
 329     * a streaming policy, then the standard system exception MARSHAL is raised.
 330     */
 331     void read_float_array (org.omg.CORBA.FloatSeqHolder seq, int offset, int length);
 332 
 333     /** Reads array of IDL doubles from offset for length elements from the
 334     * input stream.
 335     * @param seq The out parameter holder for the array to be read.
 336     * @param offset The index into seq of the first element to read from the
 337     * input stream.
 338     * @param length The number of elements to read from the input stream.
 339     * @throws org.omg.CORBA.MARSHAL
 340     * If an inconsistency is detected, including not having registered
 341     * a streaming policy, then the standard system exception MARSHAL is raised.
 342     */
 343     void read_double_array (org.omg.CORBA.DoubleSeqHolder seq, int offset, int length);
 344 } // interface DataInputStream