private Object deserializePrimitive ( PrimitiveTypeInfo type , Object value ) throws SerDeException { switch ( type . getPrimitiveCategory ( ) ) { case VOID : return null ; case STRING : return deserializeString ( value ) ; case BOOLEAN : return deserializeBoolean ( value ) ; case BYTE : case SHORT : case INT : case LONG : case FLOAT : case DOUBLE : return deserializeNumber ( value , type ) ; case DATE : case TIMESTAMP : return deserializeDate ( value , type ) ; default : throw new SerDeException ( "Unsupported type: " + type . getPrimitiveCategory ( ) ) ; } }
Deserializes a primitive to its corresponding Java type doing a best - effort conversion when necessary .