本文整理了Java中org.jooq.Field.getConverter()
方法的一些代码示例,展示了Field.getConverter()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Field.getConverter()
方法的具体详情如下:
包路径:org.jooq.Field
类名称: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;
}
内容来源于网络,如有侵权,请联系作者删除!