Streamable (Java SE 9 & JDK 9 )
Keywords: org.omg.CORBA.portable.Streamable interface

Module java.corba
Package org.omg.CORBA.portable

## Interface Streamable

- All Known Subinterfaces:
    `StreamableValue`
  All Known Implementing Classes:
    `AlreadyBoundHolder`, `AnyHolder`, `AnySeqHolder`, `BindingHolder`, `BindingIteratorHolder`, `BindingListHolder`, `BindingTypeHolder`, `BooleanHolder`, `BooleanSeqHolder`, `ByteHolder`, `CannotProceedHolder`, `CharHolder`, `CharSeqHolder`, `CookieHolder`, `CurrentHolder`, `DoubleHolder`, `DoubleSeqHolder`, `FixedHolder`, `FloatHolder`, `FloatSeqHolder`, `IntHolder`, `InvalidAddressHolder`, `InvalidNameHolder`, `IORHolder`, `IORInterceptor_3_0Holder`, `LongHolder`, `LongLongSeqHolder`, `LongSeqHolder`, `MultipleComponentProfileHolder`, `NameComponentHolder`, `NameHolder`, `NamingContextExtHolder`, `NamingContextHolder`, `NotEmptyHolder`, `NotFoundHolder`, `NotFoundReasonHolder`, `ObjectHolder`, `ObjectReferenceFactoryHolder`, `ObjectReferenceTemplateHolder`, `ObjectReferenceTemplateSeqHolder`, `OctetSeqHolder`, `ParameterModeHolder`, `PolicyErrorHolder`, `PolicyHolder`, `PolicyListHolder`, `PrincipalHolder`, `ServiceContextHolder`, `ServiceContextListHolder`, `ServiceInformationHolder`, `ShortHolder`, `ShortSeqHolder`, `StringHolder`, `StringSeqHolder`, `TaggedComponentHolder`, `TaggedProfileHolder`, `TypeCodeHolder`, `ULongLongSeqHolder`, `ULongSeqHolder`, `UnknownUserExceptionHolder`, `UShortSeqHolder`, `ValueBaseHolder`, `WCharSeqHolder`, `WrongTransactionHolder`, `WStringSeqHolder`

      public interface Streamable

  The base class for the Holder classess of all complex IDL types. The ORB treats all generated Holders as Streamable to invoke the methods for marshalling and unmarshalling.
  Since:
    JDK1.2

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `_read​(InputStream istream)` | Reads data from `istream` and initalizes the `value` field of the Holder with the unmarshalled data.
    `TypeCode` | `_type​()` | Retrieves the `TypeCode` object corresponding to the value in the `value` field of the Holder.
    `void` | `_write​(OutputStream ostream)` | Marshals to `ostream` the value in the `value` field of the Holder.

- - ### Method Detail

    - #### _read

          void _read​(InputStream istream)

      Reads data from `istream` and initalizes the `value` field of the Holder with the unmarshalled data.
      Parameters:
        `istream` - the InputStream that represents the CDR data from the wire.

    - #### _write

          void _write​(OutputStream ostream)

      Marshals to `ostream` the value in the `value` field of the Holder.
      Parameters:
        `ostream` - the CDR OutputStream

    - #### _type

          TypeCode _type​()

      Retrieves the `TypeCode` object corresponding to the value in the `value` field of the Holder.
      Returns:
        the `TypeCode` object for the value held in the holder