public static Class getWritableClass()

in odps-sdk-impl/odps-common-local/src/main/java/com/aliyun/odps/local/common/utils/LocalWritableUtils.java [277:339]


  public static Class getWritableClass(TypeInfo typeInfo) {
    if (typeInfo == TypeInfoFactory.STRING) {
      return Text.class;
    }
    if (typeInfo == TypeInfoFactory.TINYINT) {
      return ByteWritable.class;
    }
    if (typeInfo == TypeInfoFactory.SMALLINT) {
      return ShortWritable.class;
    }
    if (typeInfo == TypeInfoFactory.INT) {
      return IntWritable.class;
    }
    if (typeInfo == TypeInfoFactory.BIGINT) {
      return LongWritable.class;
    }
    if (typeInfo == TypeInfoFactory.BOOLEAN) {
      return BooleanWritable.class;
    }
    if (typeInfo == TypeInfoFactory.FLOAT) {
      return FloatWritable.class;
    }
    if (typeInfo == TypeInfoFactory.DOUBLE) {
      return DoubleWritable.class;
    }
    if (typeInfo == TypeInfoFactory.DECIMAL) {
      return BigDecimalWritable.class;
    }
    if (typeInfo == TypeInfoFactory.DATETIME) {
      return DatetimeWritable.class;
    }
    if (typeInfo == TypeInfoFactory.TIMESTAMP) {
      return TimestampWritable.class;
    }
    if (typeInfo == TypeInfoFactory.DATE) {
      return DateWritable.class;
    }
    if (typeInfo instanceof CharTypeInfo) {
      return CharWritable.class;
    }
    if (typeInfo instanceof VarcharTypeInfo) {
      return VarcharWritable.class;
    }
    if (typeInfo == TypeInfoFactory.BINARY) {
      return BytesWritable.class;
    }
    if (typeInfo == TypeInfoFactory.INTERVAL_DAY_TIME) {
      return IntervalDayTimeWritable.class;
    }
    if (typeInfo == TypeInfoFactory.INTERVAL_YEAR_MONTH) {
      return IntervalYearMonth.class;
    }
    if (typeInfo instanceof ArrayTypeInfo) {
      return ArrayWritable.class;
    }
    if (typeInfo instanceof MapTypeInfo) {
      return MapWritable.class;
    }
    if (typeInfo instanceof StructTypeInfo) {
      return StructWritable.class;
    }
    throw new IllegalArgumentException("unsupported data type:" + typeInfo.getTypeName());
  }