_inputStream = new ByteArrayInputStream(new byte[0]);
_dataInput = new DataInputStream(_inputStream);
}
Object readAny() {
ITypeDescription t = readTypeDescription();
switch (t.getTypeClass().getValue()) {
case TypeClass.VOID_value:
return Any.VOID;
case TypeClass.CHAR_value:
return readCharacter();
case TypeClass.BOOLEAN_value:
return readBoolean();
case TypeClass.BYTE_value:
return readByte();
case TypeClass.SHORT_value:
return readShort();
case TypeClass.UNSIGNED_SHORT_value:
return new Any(Type.UNSIGNED_SHORT, readShort());
case TypeClass.LONG_value:
return readInteger();
case TypeClass.UNSIGNED_LONG_value:
return new Any(Type.UNSIGNED_LONG, readInteger());
case TypeClass.HYPER_value:
return readLong();
case TypeClass.UNSIGNED_HYPER_value:
return new Any(Type.UNSIGNED_HYPER, readLong());
case TypeClass.FLOAT_value:
return readFloat();
case TypeClass.DOUBLE_value:
return readDouble();
case TypeClass.STRING_value:
return readString();
case TypeClass.TYPE_value:
return new Type(readTypeDescription());
case TypeClass.ENUM_value:
return readEnum(t);
case TypeClass.STRUCT_value:
return readStruct(t);
case TypeClass.EXCEPTION_value:
return readThrowable(t);
case TypeClass.SEQUENCE_value:
Object os = readSequence(t);
ITypeDescription tc = t.getComponentType();
while (tc.getTypeClass() == TypeClass.SEQUENCE) {
tc = tc.getComponentType();
}
switch (tc.getTypeClass().getValue()) {
case TypeClass.UNSIGNED_SHORT_value:
case TypeClass.UNSIGNED_LONG_value:
case TypeClass.UNSIGNED_HYPER_value:
return new Any(new Type(t), os);
default: