org.jooq.Field.getConverter()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(111)

本文整理了Java中org.jooq.Field.getConverter()方法的一些代码示例,展示了Field.getConverter()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Field.getConverter()方法的具体详情如下:
包路径:org.jooq.Field
类名称:Field
方法名:getConverter

Field.getConverter介绍

[英]The field's underlying Converter.

By default, all fields reference an identity-converter Converter<T, T>. Custom data types may be obtained by a custom Converter placed on the generated TableField.
[中]字段的基础转换器。
默认情况下,所有字段都引用标识转换器Converter<T, T>。自定义数据类型可以通过放置在生成的TableField上的自定义转换器获得。

代码示例

代码示例来源:origin: my2iu/Jinq

private <K> void copyValueIntoRecord(T outputRecord, Record inputRecord, Field<K> field, int idx)
{
 outputRecord.setValue(field, inputRecord.getValue(idx, field.getConverter()));
}

代码示例来源:origin: com.torodb.torod.backends/mysql

private boolean hasSqlTypeComment(Field<?> field, Configuration conf) {
  if (field.getConverter() != null) {
    Class<?> fieldType = field.getDataType().getType();
    if (fieldType.equals(ScalarArray.class)) {
      return true;
    }
    if (fieldType.equals(ScalarMongoObjectId.class)) {
      return true;
    }
    if (fieldType.equals(ScalarMongoTimestamp.class)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: io.github.jklingsporn/vertx-jooq-shared-async

/**
 * The <code>AsyncSQLClient</code> does not know anything about converters you may have set for your entities,
 * so we have to convert them manually on each return.
 * @param table
 * @return a <code>UnaryOperator</code> to map custom values (e.g. nested JsonObjects).
 */
@SuppressWarnings("unchecked")
protected UnaryOperator<JsonObject> convertFromSQL(Table<?> table){
  Map<String, Converter<Object, Object>> pojoConverters = table
      .fieldStream()
      .filter(f -> f.getConverter() != null)
      .collect(Collectors.toMap(Field::getName, v -> ((Converter<Object, Object>) v.getConverter())));
  return json -> {
    JsonObject theCopy = new JsonObject();
    for (Map.Entry<String, Object> jsonMap : json.getMap().entrySet()) {
      Converter<Object, Object> converter = pojoConverters.get(jsonMap.getKey());
      if(converter!=null){
        theCopy.put(jsonMap.getKey(), converter.from(jsonMap.getValue()));
      }else{
        theCopy.put(jsonMap.getKey(), jsonMap.getValue());
      }
    }
    return theCopy;
  };
}

代码示例来源:origin: jklingsporn/vertx-jooq

/**
 * The <code>AsyncSQLClient</code> does not know anything about converters you may have set for your entities,
 * so we have to convert them manually on each return.
 * @param table
 * @return a <code>UnaryOperator</code> to map custom values (e.g. nested JsonObjects).
 */
@SuppressWarnings("unchecked")
protected UnaryOperator<JsonObject> convertFromSQL(Table<?> table){
  Map<String, Converter<Object, Object>> pojoConverters = table
      .fieldStream()
      .filter(f -> f.getConverter() != null)
      .collect(Collectors.toMap(Field::getName, v -> ((Converter<Object, Object>) v.getConverter())));
  return json -> {
    JsonObject theCopy = new JsonObject();
    for (Map.Entry<String, Object> jsonMap : json.getMap().entrySet()) {
      Converter<Object, Object> converter = pojoConverters.get(jsonMap.getKey());
      if(converter!=null){
        theCopy.put(jsonMap.getKey(), converter.from(jsonMap.getValue()));
      }else{
        theCopy.put(jsonMap.getKey(), jsonMap.getValue());
      }
    }
    return theCopy;
  };
}

代码示例来源:origin: com.openle.module.lambda/lambda

private <K> void copyValueIntoRecord(T outputRecord, Record inputRecord, Field<K> field, int idx)
{
 outputRecord.setValue(field, inputRecord.getValue(idx, field.getConverter()));
}

代码示例来源:origin: org.jooq/jooq

private static final <T> void pgSetValue(Record record, Field<T> field, String value) {
  record.set(field, pgFromString(field.getConverter(), value));
}

代码示例来源:origin: com.torodb.torod.backends/postgresql

private String getSqlType(Field<?> field, Configuration conf) {
  if (field.getConverter() != null) {
    Class<?> fieldType = field.getDataType().getType();
    if (fieldType.equals(ScalarArray.class)) {
      return PostgreSQLScalarTypeToSqlType.ARRAY_TYPE;
    }
    if (fieldType.equals(ScalarMongoObjectId.class)) {
      return PostgreSQLScalarTypeToSqlType.FULL_MONGO_OBJECT_ID_TYPE;
    }
    if (fieldType.equals(ScalarMongoTimestamp.class)) {
      return PostgreSQLScalarTypeToSqlType.FULL_MONGO_TIMESTAMP_TYPE;
    }
  }
  return field.getDataType().getTypeName(conf);
}

代码示例来源:origin: com.torodb.torod.backends/greenplum

private String getSqlType(Field<?> field, Configuration conf) {
  if (field.getConverter() != null) {
    Class<?> fieldType = field.getDataType().getType();
    if (fieldType.equals(ScalarArray.class)) {
      return GreenplumScalarTypeToSqlType.ARRAY_TYPE;
    }
    if (fieldType.equals(ScalarMongoObjectId.class)) {
      return GreenplumScalarTypeToSqlType.FULL_MONGO_OBJECT_ID_TYPE;
    }
    if (fieldType.equals(ScalarMongoTimestamp.class)) {
      return GreenplumScalarTypeToSqlType.FULL_MONGO_TIMESTAMP_TYPE;
    }
  }
  return field.getDataType().getTypeName(conf);
}

代码示例来源:origin: com.torodb.torod.backends/mysql

private String getSqlTypeComment(Field<?> field, Configuration conf) {
  if (field.getConverter() != null) {
    Class<?> fieldType = field.getDataType().getType();
    if (fieldType.equals(ScalarArray.class)) {
      return MySQLScalarTypeToSqlType.ARRAY_SIGNATURE;
    }
    if (fieldType.equals(ScalarMongoObjectId.class)) {
      return MySQLScalarTypeToSqlType.MONGO_OBJECT_ID_SIGNATURE;
    }
    if (fieldType.equals(ScalarMongoTimestamp.class)) {
      return MySQLScalarTypeToSqlType.MONGO_TIMESTAMP_SIGNATURE;
    }
  }
  return field.getDataType().getTypeName(conf);
}

代码示例来源:origin: com.torodb.torod.backends/mysql

private String getSqlType(Field<?> field, Configuration conf) {
  if (field.getConverter() != null) {
    Class<?> fieldType = field.getDataType().getType();
    if (fieldType.equals(ScalarArray.class)) {
      return MySQLScalarTypeToSqlType.ARRAY_TYPE;
    }
    if (fieldType.equals(ScalarMongoObjectId.class)) {
      return MySQLScalarTypeToSqlType.MONGO_OBJECT_ID_TYPE;
    }
    if (fieldType.equals(ScalarMongoTimestamp.class)) {
      return MySQLScalarTypeToSqlType.MONGO_TIMESTAMP_TYPE;
    }
  }
  return field.getDataType().getTypeName(conf);
}

代码示例来源:origin: jklingsporn/vertx-jooq

@Override
public <T> T get(Field<T> field) {
  return Convert.convert(current.getValue(field.getName()), field.getConverter());
}

代码示例来源:origin: org.jooq/jooq

/**
 * Create a PostgreSQL string representation of a record.
 */
public static String toPGString(Record r) {
  StringBuilder sb = new StringBuilder();
  sb.append("(");
  String separator = "";
  for (int i = 0; i < r.size(); i++) {
    @SuppressWarnings({ "unchecked", "rawtypes" })
    Object a = ((Converter) r.field(i).getConverter()).to(r.get(i));
    sb.append(separator);
    // [#753] null must not be set as a literal
    if (a != null) {
      if (a instanceof byte[])
        sb.append(toPGString((byte[]) a));
      else
        sb.append("\"")
         .append(StringUtils.replace(StringUtils.replace(toPGString(a), "\\", "\\\\"), "\"", "\\\""))
         .append("\"");
    }
    separator = ",";
  }
  sb.append(")");
  return sb.toString();
}

代码示例来源:origin: io.github.jklingsporn/vertx-jooq-shared-async

@Override
public <T> T get(Field<T> field) {
  return Convert.convert(getCurrent().getValue(field.getName()),field.getConverter());
}

代码示例来源:origin: jklingsporn/vertx-jooq

@Override
public <T> T get(Field<T> field) {
  return Convert.convert(getCurrent().getValue(field.getName()),field.getConverter());
}

代码示例来源:origin: org.jooq/jooq

private <T> T get(String columnLabel, Class<T> type) throws SQLException {
  checkInRange();
  Converter<?, ?> converter = Converters.inverse(field(columnLabel).getConverter());
  T value = Convert.convert(result.get(index - 1).get(columnLabel, converter), type);
  wasNull = (value == null);
  return value;
}

代码示例来源:origin: org.jooq/jooq

private <T> T get(int columnIndex, Class<T> type) throws SQLException {
  checkInRange();
  Converter<?, ?> converter = Converters.inverse(field(columnIndex).getConverter());
  T value = Convert.convert(result.get(index - 1).get(columnIndex - 1, converter), type);
  wasNull = (value == null);
  return value;
}

相关文章