Apache.NMS.Util.PrimitiveMap.UnmarshalPrimitive C# (CSharp) Method

UnmarshalPrimitive() public static method

public static UnmarshalPrimitive ( BinaryReader dataIn ) : Object
dataIn System.IO.BinaryReader
return Object
        public static Object UnmarshalPrimitive(BinaryReader dataIn)
        {
            Object value = null;
            byte type = dataIn.ReadByte();
            switch(type)
            {
            case NULL:
                value = null;
                break;
            case BYTE_TYPE:
                value = dataIn.ReadByte();
                break;
            case BOOLEAN_TYPE:
                value = dataIn.ReadBoolean();
                break;
            case CHAR_TYPE:
                value = dataIn.ReadChar();
                break;
            case SHORT_TYPE:
                value = dataIn.ReadInt16();
                break;
            case INTEGER_TYPE:
                value = dataIn.ReadInt32();
                break;
            case LONG_TYPE:
                value = dataIn.ReadInt64();
                break;
            case FLOAT_TYPE:
                value = dataIn.ReadSingle();
                break;
            case DOUBLE_TYPE:
                value = dataIn.ReadDouble();
                break;
            case BYTE_ARRAY_TYPE:
                int size = dataIn.ReadInt32();
                byte[] data = new byte[size];
                dataIn.Read(data, 0, size);
                value = data;
                break;
            case STRING_TYPE:
                value = ((EndianBinaryReader) dataIn).ReadString16();
                break;
            case BIG_STRING_TYPE:
                value = ((EndianBinaryReader) dataIn).ReadString32();
                break;
            case MAP_TYPE:
                value = UnmarshalPrimitiveMap(dataIn);
                break;
            case LIST_TYPE:
                value = UnmarshalPrimitiveList(dataIn);
                break;

            default:
                throw new Exception("Unsupported data type: " + type);
            }
            return value;
        }