Package com.sun.corba.ee.impl.encoding
Class EncapsInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.omg.CORBA.portable.InputStream
-
- org.omg.CORBA_2_3.portable.InputStream
-
- com.sun.corba.ee.impl.encoding.CDRInputObject
-
- com.sun.corba.ee.impl.encoding.EncapsInputStream
-
- All Implemented Interfaces:
MarshalInputStream
,java.io.Closeable
,java.io.Serializable
,java.lang.AutoCloseable
,DataInputStream
,IDLEntity
,ValueBase
,ValueInputStream
- Direct Known Subclasses:
AnyImpl.AnyInputStream
,TypeCodeInputStream
public class EncapsInputStream extends CDRInputObject
Encapsulations are supposed to explicitly define their code sets and GIOP version. The original resolution to issue 2784 said that the defaults were UTF-8 and UTF-16, but that was not agreed upon. These streams currently use CDR 1.2 with ISO8859-1 for char/string and UTF16 for wchar/wstring. If no byte order marker is available, the endianness of the encapsulation is used. When more encapsulations arise that have their own special code sets defined, we can make all constructors take such parameters.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private CodeBase
codeBase
private static ORBUtilSystemException
wrapper
-
Fields inherited from class com.sun.corba.ee.impl.encoding.CDRInputObject
messageMediator
-
-
Constructor Summary
Constructors Constructor Description EncapsInputStream(EncapsInputStream eis)
EncapsInputStream(ORB orb, byte[] data, int size)
EncapsInputStream(ORB orb, byte[] data, int size, GIOPVersion version)
EncapsInputStream(ORB orb, byte[] data, int size, GIOPVersion version, CodeBase codeBase)
Full constructor with a CodeBase parameter useful for unmarshaling RMI-IIOP valuetypes (technically against the intention of an encapsulation, but necessary due to OMG issue 4795.EncapsInputStream(ORB orb, byte[] buf, int size, java.nio.ByteOrder byteOrder, GIOPVersion version)
EncapsInputStream(ORB orb, java.nio.ByteBuffer byteBuffer, int size, java.nio.ByteOrder byteOrder, GIOPVersion version)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected CodeSetConversion.BTCConverter
createCharBTCConverter()
Override the default CDR factory behavior to get the negotiated code sets from the connection.protected CodeSetConversion.BTCConverter
createWCharBTCConverter()
CDRInputObject
dup()
CodeBase
getCodeBase()
-
Methods inherited from class com.sun.corba.ee.impl.encoding.CDRInputObject
_truncatable_ids, addFragment, alignOnBoundary, available, cancelProcessing, close, consumeEndian, dprint, end_value, getBufferLength, getBufferManager, getByteOrder, getConnection, getGIOPVersion, getMessageHeader, getMessageMediator, getPosition, mark, markSupported, orb, orb, performORBVersionSpecificInit, read, read, read, read_Abstract, read_abstract_interface, read_abstract_interface, read_any, read_any_array, read_boolean, read_boolean_array, read_boolean_array, read_char, read_char_array, read_char_array, read_Context, read_double, read_double_array, read_double_array, read_fixed, read_fixed, read_float, read_float_array, read_float_array, read_long, read_long_array, read_long_array, read_longlong, read_longlong_array, read_longlong_array, read_Object, read_Object, read_octet, read_octet_array, read_octet_array, read_Principal, read_short, read_short_array, read_short_array, read_string, read_TypeCode, read_ulong, read_ulong_array, read_ulong_array, read_ulonglong, read_ulonglong_array, read_ulonglong_array, read_ushort, read_ushort_array, read_ushort_array, read_value, read_value, read_value, read_value, read_value, read_Value, read_wchar, read_wchar_array, read_wchar_array, read_wstring, reset, resetCodeSetConverters, setBufferLength, setHeaderPadding, setIndex, setMessageMediator, skip, start_value, toByteOrder, unmarshalHeader
-
-
-
-
Field Detail
-
wrapper
private static final ORBUtilSystemException wrapper
-
codeBase
private CodeBase codeBase
-
-
Constructor Detail
-
EncapsInputStream
public EncapsInputStream(ORB orb, byte[] buf, int size, java.nio.ByteOrder byteOrder, GIOPVersion version)
-
EncapsInputStream
public EncapsInputStream(ORB orb, java.nio.ByteBuffer byteBuffer, int size, java.nio.ByteOrder byteOrder, GIOPVersion version)
-
EncapsInputStream
public EncapsInputStream(ORB orb, byte[] data, int size)
-
EncapsInputStream
public EncapsInputStream(EncapsInputStream eis)
-
EncapsInputStream
public EncapsInputStream(ORB orb, byte[] data, int size, GIOPVersion version)
-
EncapsInputStream
public EncapsInputStream(ORB orb, byte[] data, int size, GIOPVersion version, CodeBase codeBase)
Full constructor with a CodeBase parameter useful for unmarshaling RMI-IIOP valuetypes (technically against the intention of an encapsulation, but necessary due to OMG issue 4795. Used by ServiceContexts.- Parameters:
orb
- the ORBdata
- data to read insize
- size of dataversion
- GIOP versioncodeBase
- CodeBase to use
-
-
Method Detail
-
dup
public CDRInputObject dup()
- Overrides:
dup
in classCDRInputObject
-
createCharBTCConverter
protected CodeSetConversion.BTCConverter createCharBTCConverter()
Description copied from class:CDRInputObject
Override the default CDR factory behavior to get the negotiated code sets from the connection. These are only called once per message, the first time needed. In the local case, there is no Connection, so use the local code sets.- Overrides:
createCharBTCConverter
in classCDRInputObject
- Returns:
- The converter.
-
createWCharBTCConverter
protected CodeSetConversion.BTCConverter createWCharBTCConverter()
- Overrides:
createWCharBTCConverter
in classCDRInputObject
-
getCodeBase
public CodeBase getCodeBase()
- Overrides:
getCodeBase
in classCDRInputObject
-
-