Class CDRInputStream_1_0
java.lang.Object
java.io.InputStream
com.sun.corba.ee.impl.encoding.CDRInputStreamBase
com.sun.corba.ee.impl.encoding.CDRInputStream_1_0
- All Implemented Interfaces:
RestorableInputStream, Closeable, AutoCloseable
- Direct Known Subclasses:
CDRInputStream_1_1
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate static final String[]protected intprotected BufferManagerReadprotected ByteBufferprivate CodeSetConversion.BTCConverterprivate intprivate CacheTable<String> protected intprotected booleanprivate static final Stringprotected MarkAndResetHandlerprivate static final intprivate static final OMGSystemExceptionprotected ORBprivate RepositoryIdStringsprivate RepositoryIdUtilityprivate CacheTable<String> private booleanprotected intprivate CacheTable<Object> protected ValueHandlerprotected intprivate CodeSetConversion.BTCConverterprotected static final ORBUtilSystemExceptionFields inherited from class CDRInputStreamBase
parent -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionString[]protected voidalignAndCheck(int align, int n) (package private) voidalignOnBoundary(int octetBoundary) Aligns the current position on the given octet boundary if there are enough bytes available to do so.protected voidcheckBlockLength(int align, int dataSize) protected final voidcheckForNegativeLength(int length) private voidchunkedNestingLevel(int nl) private voidvoidclose()protected final intcomputeAlignment(int index, int align) final voidprivate voiddup()private voidvoidprivate voidendFlag(int value) private voidendTag(int endTag) protected intintprotected CodeSetConversion.BTCConverterprivate Class<?> getClassFromString(String repositoryIDString, String codebaseURL, Class<?> expectedType) Attempts to find the class described by the given repository ID string and expected type.(package private) CodeBase(package private) char[]getConvertedChars(int numBytes, CodeSetConversion.BTCConverter converter) getInterfacesList(String[] interfaces) intprotected CodeSetConversion.BTCConverterprotected voidgrow(int align, int n) private voidprivate Serializableprivate voidindirectionValue(int indir) (package private) voidinit(ORB orb, ByteBuffer byteBuffer, int bufferSize, ByteOrder byteOrder, BufferManagerRead bufferManager) static ObjectinternalIORToObject(IOR ior, PresentationManager.StubFactory stubFactory, ORB orb) private StringinternalReadString(int len) private booleanisCustomType(ValueHelper helper) voidmark(int readlimit) (package private) final Stringprivate voidprivate voidprivate voidnullIOR()orb()voidprivate voidpeekNextLong(long val) (package private) voidread_any()final voidread_any_array(Any[] value, int offset, int length) voidread_any_array(AnySeqHolder seq, int offset, int length) final booleanfinal voidread_boolean_array(boolean[] value, int offset, int length) voidread_boolean_array(BooleanSeqHolder seq, int offset, int length) final charfinal voidread_char_array(char[] value, int offset, int length) voidread_char_array(CharSeqHolder seq, int offset, int length) private Stringfinal doublefinal voidread_double_array(double[] value, int offset, int length) voidread_double_array(DoubleSeqHolder seq, int offset, int length) read_fixed(short digits, short scale) private StringBufferfinal floatfinal voidread_float_array(float[] value, int offset, int length) voidread_float_array(FloatSeqHolder seq, int offset, int length) final intfinal voidread_long_array(int[] value, int offset, int length) voidread_long_array(LongSeqHolder seq, int offset, int length) final longfinal voidread_longlong_array(long[] value, int offset, int length) voidread_longlong_array(LongLongSeqHolder seq, int offset, int length) read_Object(Class clz) final bytefinal voidread_octet_array(byte[] buffer, int offset, int length) voidread_octet_array(OctetSeqHolder seq, int offset, int length) private Stringprivate Stringfinal shortfinal voidread_short_array(short[] value, int offset, int length) voidread_short_array(ShortSeqHolder seq, int offset, int length) final Stringfinal intfinal voidread_ulong_array(int[] value, int offset, int length) voidread_ulong_array(ULongSeqHolder seq, int offset, int length) final longfinal voidread_ulonglong_array(long[] value, int offset, int length) voidread_ulonglong_array(ULongLongSeqHolder seq, int offset, int length) final shortfinal voidread_ushort_array(short[] value, int offset, int length) voidread_ushort_array(UShortSeqHolder seq, int offset, int length) read_value(Serializable value) read_value(Class expectedType) read_value(String repositoryId) read_value(BoxedValueHelper factory) charfinal voidread_wchar_array(char[] value, int offset, int length) voidread_wchar_array(WCharSeqHolder seq, int offset, int length) private ObjectreadBoxedIDLEntity(Class<?> clazz, String codebase) private Class<?> private voidreadClassCodebases(String codebases, String repoId) private voidEnd tags are only written for chunked valuetypes.private ObjectreadIDLValue(int indirection, String repId, Class<?> clazz, ClassInfoCache.ClassInfo cinfo, String codebase) private ObjectreadIDLValueWithHelper(ValueHelper helper, int indirection) private StringreadRepositoryIds(int valueTag, Class<?> expectedType, ClassInfoCache.ClassInfo cinfo, String expectedTypeRepId) private StringreadRepositoryIds(int valueTag, Class<?> expectedType, ClassInfoCache.ClassInfo cinfo, String expectedTypeRepId, BoxedValueHelper factory) Examines the valuetag to see how many (if any) repository IDs are present on the wire.private ObjectreadRMIIIOPValueType(int indirection, Class<?> valueClass, String repositoryIDString) protected final StringreadStringOrIndirection(boolean allowIndirection) private intprivate voidrepositoryIdString(String str) voidreset()voidvoidrestoreInternalState(Object streamMemento) voidsetBufferLength(int value) (package private) voidsetHeaderPadding(boolean headerPadding) voidsetIndex(int value) private voidskipToOffset(int offset) private voidvoidprivate voidprivate voidprivate voidvalueClass(Class cls) private voidvalueTag(int value) Methods inherited from class CDRInputStreamBase
markSupported, read, read_Context, setParentMethods inherited from class InputStream
available, read, read, skip
-
Field Details
-
wrapper
-
omgWrapper
-
K_READ_METHOD
- See Also:
-
MAX_BLOCK_LENGTH
private static final int MAX_BLOCK_LENGTH- See Also:
-
bufferManagerRead
-
byteBuffer
-
orb
-
valueHandler
-
valueCache
-
repositoryIdCache
-
codebaseCache
-
blockLength
protected int blockLength -
end_flag
protected int end_flag -
chunkedValueNestingLevel
private int chunkedValueNestingLevel -
valueIndirection
protected int valueIndirection -
stringIndirection
protected int stringIndirection -
isChunked
protected boolean isChunked -
repIdUtil
-
repIdStrs
-
charConverter
-
wcharConverter
-
specialNoOptionalDataState
private boolean specialNoOptionalDataState -
_id
- See Also:
-
_ids
-
markAndResetHandler
-
-
Constructor Details
-
CDRInputStream_1_0
public CDRInputStream_1_0()
-
-
Method Details
-
newEmptyString
-
dup
- Specified by:
dupin classCDRInputStreamBase
-
init
void init(ORB orb, ByteBuffer byteBuffer, int bufferSize, ByteOrder byteOrder, BufferManagerRead bufferManager) - Specified by:
initin classCDRInputStreamBase
-
performORBVersionSpecificInit
void performORBVersionSpecificInit()- Specified by:
performORBVersionSpecificInitin classCDRInputStreamBase
-
createRepositoryIdHandlers
private void createRepositoryIdHandlers() -
getGIOPVersion
- Specified by:
getGIOPVersionin classCDRInputStreamBase
-
setHeaderPadding
void setHeaderPadding(boolean headerPadding) - Specified by:
setHeaderPaddingin classCDRInputStreamBase
-
computeAlignment
protected final int computeAlignment(int index, int align) -
notChunked
@InfoMethod private void notChunked() -
checkBlockLength
protected void checkBlockLength(int align, int dataSize) -
alignAndCheck
protected void alignAndCheck(int align, int n) -
grow
protected void grow(int align, int n) -
consumeEndian
public final void consumeEndian()- Specified by:
consumeEndianin classCDRInputStreamBase
-
read_boolean
public final boolean read_boolean()- Specified by:
read_booleanin classCDRInputStreamBase
-
read_char
public final char read_char()- Specified by:
read_charin classCDRInputStreamBase
-
read_wchar
public char read_wchar()- Specified by:
read_wcharin classCDRInputStreamBase
-
read_octet
public final byte read_octet()- Specified by:
read_octetin classCDRInputStreamBase
-
read_short
public final short read_short()- Specified by:
read_shortin classCDRInputStreamBase
-
read_ushort
public final short read_ushort()- Specified by:
read_ushortin classCDRInputStreamBase
-
read_long
public final int read_long()- Specified by:
read_longin classCDRInputStreamBase
-
read_ulong
public final int read_ulong()- Specified by:
read_ulongin classCDRInputStreamBase
-
read_longlong
public final long read_longlong()- Specified by:
read_longlongin classCDRInputStreamBase
-
read_ulonglong
public final long read_ulonglong()- Specified by:
read_ulonglongin classCDRInputStreamBase
-
read_float
public final float read_float()- Specified by:
read_floatin classCDRInputStreamBase
-
read_double
public final double read_double()- Specified by:
read_doublein classCDRInputStreamBase
-
checkForNegativeLength
protected final void checkForNegativeLength(int length) -
readStringOrIndirection
-
internalReadString
-
read_string
- Specified by:
read_stringin classCDRInputStreamBase
-
read_wstring
- Specified by:
read_wstringin classCDRInputStreamBase
-
read_octet_array
public final void read_octet_array(byte[] buffer, int offset, int length) - Specified by:
read_octet_arrayin classCDRInputStreamBase
-
read_Principal
- Specified by:
read_Principalin classCDRInputStreamBase
-
read_TypeCode
- Specified by:
read_TypeCodein classCDRInputStreamBase
-
read_any
- Specified by:
read_anyin classCDRInputStreamBase
-
read_Object
- Specified by:
read_Objectin classCDRInputStreamBase
-
nullIOR
@InfoMethod private void nullIOR() -
className
-
stubFactory
-
read_Object
- Specified by:
read_Objectin classCDRInputStreamBase
-
internalIORToObject
public static Object internalIORToObject(IOR ior, PresentationManager.StubFactory stubFactory, ORB orb) -
read_abstract_interface
- Specified by:
read_abstract_interfacein classCDRInputStreamBase
-
read_abstract_interface
- Specified by:
read_abstract_interfacein classCDRInputStreamBase
-
read_value
- Specified by:
read_valuein classCDRInputStreamBase
-
indirectionValue
@InfoMethod private void indirectionValue(int indir) -
handleIndirection
-
readRepositoryIds
private String readRepositoryIds(int valueTag, Class<?> expectedType, ClassInfoCache.ClassInfo cinfo, String expectedTypeRepId) -
readRepositoryIds
private String readRepositoryIds(int valueTag, Class<?> expectedType, ClassInfoCache.ClassInfo cinfo, String expectedTypeRepId, BoxedValueHelper factory) Examines the valuetag to see how many (if any) repository IDs are present on the wire. If no repository ID information is on the wire but the expectedType or expectedTypeRepId is known, it will return one of those (favoring the expectedType's repId). Failing that, it uses the supplied BoxedValueHelper to obtain the repository ID, as a last resort. -
readRMIIIOPValueType
-
repositoryIdString
-
valueClass
-
noProxyInterfaces
@InfoMethod private void noProxyInterfaces() -
read_value
- Specified by:
read_valuein classCDRInputStreamBase
-
getInterfacesList
-
read_value
- Specified by:
read_valuein classCDRInputStreamBase
-
isCustomType
-
read_value
- Specified by:
read_valuein classCDRInputStreamBase
-
read_value
- Specified by:
read_valuein classCDRInputStreamBase
-
readClassCodebases
-
readClass
-
readIDLValueWithHelper
-
readBoxedIDLEntity
-
readIDLValue
private Object readIDLValue(int indirection, String repId, Class<?> clazz, ClassInfoCache.ClassInfo cinfo, String codebase) -
endTag
@InfoMethod private void endTag(int endTag) -
chunkedNestingLevel
@InfoMethod private void chunkedNestingLevel(int nl) -
endFlag
@InfoMethod private void endFlag(int value) -
readEndTag
private void readEndTag()End tags are only written for chunked valuetypes. Before Merlin, our ORBs wrote end tags which took into account all enclosing valuetypes. This was changed by an interop resolution (see details around chunkedValueNestingLevel) to only include enclosing chunked types. ORB versioning and end tag compaction are handled here. -
get_offset
protected int get_offset() -
unreadLastLong
@InfoMethod private void unreadLastLong() -
start_block
private void start_block() -
peekNextLong
@InfoMethod private void peekNextLong(long val) -
handleEndOfValue
private void handleEndOfValue() -
end_block
private void end_block() -
readValueTag
private int readValueTag() -
orb
- Specified by:
orbin classCDRInputStreamBase
-
read_boolean_array
public final void read_boolean_array(boolean[] value, int offset, int length) - Specified by:
read_boolean_arrayin classCDRInputStreamBase
-
read_char_array
public final void read_char_array(char[] value, int offset, int length) - Specified by:
read_char_arrayin classCDRInputStreamBase
-
read_wchar_array
public final void read_wchar_array(char[] value, int offset, int length) - Specified by:
read_wchar_arrayin classCDRInputStreamBase
-
read_short_array
public final void read_short_array(short[] value, int offset, int length) - Specified by:
read_short_arrayin classCDRInputStreamBase
-
read_ushort_array
public final void read_ushort_array(short[] value, int offset, int length) - Specified by:
read_ushort_arrayin classCDRInputStreamBase
-
read_long_array
public final void read_long_array(int[] value, int offset, int length) - Specified by:
read_long_arrayin classCDRInputStreamBase
-
read_ulong_array
public final void read_ulong_array(int[] value, int offset, int length) - Specified by:
read_ulong_arrayin classCDRInputStreamBase
-
read_longlong_array
public final void read_longlong_array(long[] value, int offset, int length) - Specified by:
read_longlong_arrayin classCDRInputStreamBase
-
read_ulonglong_array
public final void read_ulonglong_array(long[] value, int offset, int length) - Specified by:
read_ulonglong_arrayin classCDRInputStreamBase
-
read_float_array
public final void read_float_array(float[] value, int offset, int length) - Specified by:
read_float_arrayin classCDRInputStreamBase
-
read_double_array
public final void read_double_array(double[] value, int offset, int length) - Specified by:
read_double_arrayin classCDRInputStreamBase
-
read_any_array
-
read_repositoryIds
-
read_repositoryId
-
read_codebase_URL
-
read_Abstract
- Specified by:
read_Abstractin classCDRInputStreamBase
-
read_Value
- Specified by:
read_Valuein classCDRInputStreamBase
-
read_any_array
- Specified by:
read_any_arrayin classCDRInputStreamBase
-
read_boolean_array
- Specified by:
read_boolean_arrayin classCDRInputStreamBase
-
read_char_array
- Specified by:
read_char_arrayin classCDRInputStreamBase
-
read_wchar_array
- Specified by:
read_wchar_arrayin classCDRInputStreamBase
-
read_octet_array
- Specified by:
read_octet_arrayin classCDRInputStreamBase
-
read_short_array
- Specified by:
read_short_arrayin classCDRInputStreamBase
-
read_ushort_array
- Specified by:
read_ushort_arrayin classCDRInputStreamBase
-
read_long_array
- Specified by:
read_long_arrayin classCDRInputStreamBase
-
read_ulong_array
- Specified by:
read_ulong_arrayin classCDRInputStreamBase
-
read_ulonglong_array
- Specified by:
read_ulonglong_arrayin classCDRInputStreamBase
-
read_longlong_array
- Specified by:
read_longlong_arrayin classCDRInputStreamBase
-
read_float_array
- Specified by:
read_float_arrayin classCDRInputStreamBase
-
read_double_array
- Specified by:
read_double_arrayin classCDRInputStreamBase
-
read_fixed
- Specified by:
read_fixedin classCDRInputStreamBase
-
read_fixed
- Specified by:
read_fixedin classCDRInputStreamBase
-
read_fixed_buffer
-
_truncatable_ids
- Specified by:
_truncatable_idsin classCDRInputStreamBase
-
getBufferLength
public int getBufferLength()- Specified by:
getBufferLengthin classCDRInputStreamBase
-
setBufferLength
public void setBufferLength(int value) - Specified by:
setBufferLengthin classCDRInputStreamBase
-
setIndex
public void setIndex(int value) - Specified by:
setIndexin classCDRInputStreamBase
-
getByteOrder
- Specified by:
getByteOrderin classCDRInputStreamBase
-
orb
- Specified by:
orbin classCDRInputStreamBase
-
getBufferManager
- Specified by:
getBufferManagerin classCDRInputStreamBase
-
skipToOffset
private void skipToOffset(int offset) -
createStreamMemento
- Specified by:
createStreamMementoin interfaceRestorableInputStream
-
restoreInternalState
- Specified by:
restoreInternalStatein interfaceRestorableInputStream
-
getPosition
public int getPosition()- Specified by:
getPositionin classCDRInputStreamBase
-
mark
public void mark(int readlimit) - Specified by:
markin classCDRInputStreamBase
-
reset
public void reset()- Specified by:
resetin classCDRInputStreamBase
-
getCodeBase
CodeBase getCodeBase()- Specified by:
getCodeBasein classCDRInputStreamBase
-
getClassFromString
private Class<?> getClassFromString(String repositoryIDString, String codebaseURL, Class<?> expectedType) Attempts to find the class described by the given repository ID string and expected type. The first attempt is to find the class locally, falling back on the URL that came with the value. The second attempt is to use a URL from the remote CodeBase. -
getConvertedChars
-
getCharConverter
-
getWCharConverter
-
alignOnBoundary
void alignOnBoundary(int octetBoundary) Aligns the current position on the given octet boundary if there are enough bytes available to do so. Otherwise, it just returns. This is used for some (but not all) GIOP 1.2 message headers.- Specified by:
alignOnBoundaryin classCDRInputStreamBase
-
resetCodeSetConverters
public void resetCodeSetConverters()- Specified by:
resetCodeSetConvertersin classCDRInputStreamBase
-
valueTag
@InfoMethod private void valueTag(int value) -
start_value
public void start_value()- Specified by:
start_valuein classCDRInputStreamBase
-
end_value
public void end_value()- Specified by:
end_valuein classCDRInputStreamBase
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-