public static TypeInfo indicateTypeFromClass()

in odps-sdk/odps-sdk-core/src/main/java/com/aliyun/odps/utils/OdpsCommonUtils.java [28:67]


  public static TypeInfo indicateTypeFromClass(Object obj) {
    if (obj == null) {
      return TypeInfoFactory.VOID;
    }
    if (obj instanceof Byte) {
      return TypeInfoFactory.TINYINT;
    } else if (obj instanceof Short) {
      return TypeInfoFactory.SMALLINT;
    } else if (obj instanceof Integer) {
      return TypeInfoFactory.INT;
    } else if (obj instanceof Long) {
      return TypeInfoFactory.BIGINT;
    } else if (obj instanceof Binary) {
      return TypeInfoFactory.BINARY;
    } else if (obj instanceof Float) {
      return TypeInfoFactory.FLOAT;
    } else if (obj instanceof Double) {
      return TypeInfoFactory.DOUBLE;
    } else if (obj instanceof BigDecimal) {
      return TypeInfoFactory.DECIMAL;
    } else if (obj instanceof Varchar) {
      return TypeInfoFactory.getVarcharTypeInfo(((Varchar) obj).length());
    } else if (obj instanceof Char) {
      return TypeInfoFactory.getCharTypeInfo(((Char) obj).length());
    } else if (obj instanceof String || obj instanceof byte[]) {
      return TypeInfoFactory.STRING;
    } else if (obj instanceof java.sql.Date || obj instanceof LocalDate) {
      return TypeInfoFactory.DATE;
    } else if (obj instanceof java.sql.Timestamp || obj instanceof Instant) {
      return TypeInfoFactory.TIMESTAMP;
    } else if (obj instanceof java.util.Date || obj instanceof ZonedDateTime) {
      return TypeInfoFactory.DATETIME;
    } else if (obj instanceof LocalDateTime) {
      return TypeInfoFactory.TIMESTAMP_NTZ;
    } else if (obj instanceof Boolean) {
      return TypeInfoFactory.BOOLEAN;
    } else {
      return TypeInfoFactory.UNKNOWN;
    }
  }