[jOOQ/jOOQ#10694] Some refactorings
This commit is contained in:
parent
f541eda04d
commit
157bde3056
@ -40,6 +40,7 @@ package org.jooq;
|
||||
import java.io.Serializable;
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.jooq.impl.AbstractConverter;
|
||||
import org.jooq.impl.SQLDataType;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@ -164,7 +165,7 @@ public interface Converter<T, U> extends Serializable {
|
||||
Function<? super T, ? extends U> from,
|
||||
Function<? super U, ? extends T> to
|
||||
) {
|
||||
return new Converter<T, U>() {
|
||||
return new AbstractConverter<T, U>(fromType, toType) {
|
||||
|
||||
/**
|
||||
* Generated UID
|
||||
@ -180,21 +181,6 @@ public interface Converter<T, U> extends Serializable {
|
||||
public final T to(U u) {
|
||||
return to.apply(u);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Class<T> fromType() {
|
||||
return fromType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final Class<U> toType() {
|
||||
return toType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Converter [ " + fromType.getName() + " -> " + toType.getName() + " ]";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -108,7 +108,7 @@ public final class DefaultConverterProvider implements ConverterProvider {
|
||||
|| Record.class.isAssignableFrom(tWrapper)
|
||||
|| Struct.class.isAssignableFrom(tWrapper) && UDTRecord.class.isAssignableFrom(uWrapper)
|
||||
) {
|
||||
return new Converter<T, U>() {
|
||||
return new AbstractConverter<T, U>(tType, uType) {
|
||||
|
||||
/**
|
||||
* Generated UID.
|
||||
@ -124,16 +124,6 @@ public final class DefaultConverterProvider implements ConverterProvider {
|
||||
public T to(U u) {
|
||||
return Convert.convert(u, tType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<T> fromType() {
|
||||
return tType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<U> toType() {
|
||||
return uType;
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
|
||||
@ -43,7 +43,6 @@ import static org.jooq.impl.Names.N_ROW;
|
||||
import static org.jooq.impl.Tools.BooleanDataKey.DATA_LIST_ALREADY_INDENTED;
|
||||
|
||||
import org.jooq.Context;
|
||||
import org.jooq.Converter;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.Name;
|
||||
@ -69,7 +68,9 @@ final class RowField<ROW extends Row, REC extends Record> extends AbstractField<
|
||||
|
||||
@SuppressWarnings({ "serial", "unchecked", "rawtypes" })
|
||||
RowField(final ROW row, Name as) {
|
||||
super(as, (DataType) SQLDataType.RECORD, CommentImpl.NO_COMMENT, binding(new Converter<Object, REC>() {
|
||||
super(as, (DataType) SQLDataType.RECORD, CommentImpl.NO_COMMENT, binding(new AbstractConverter<Object, REC>(
|
||||
Object.class, (Class<REC>) Tools.recordType(row.size())
|
||||
) {
|
||||
@Override
|
||||
public REC from(final Object t) {
|
||||
// So far, this is only supported for PostgreSQL
|
||||
@ -80,16 +81,6 @@ final class RowField<ROW extends Row, REC extends Record> extends AbstractField<
|
||||
public Object to(REC u) {
|
||||
throw new UnsupportedOperationException("Converting from nested records to bind values is not yet supported");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Object> fromType() {
|
||||
return Object.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<REC> toType() {
|
||||
return (Class<REC>) Tools.recordType(row.size());
|
||||
}
|
||||
}));
|
||||
|
||||
this.row = row;
|
||||
|
||||
@ -77,7 +77,7 @@ public class XMLasDOMBinding extends AbstractVarcharBinding<Node> {
|
||||
private final Converter<Object, Node> converter;
|
||||
|
||||
public XMLasDOMBinding() {
|
||||
this.converter = new Converter<Object, Node>() {
|
||||
this.converter = new AbstractConverter<Object, Node>(Object.class, Node.class) {
|
||||
|
||||
/**
|
||||
* Generated UID
|
||||
@ -93,16 +93,6 @@ public class XMLasDOMBinding extends AbstractVarcharBinding<Node> {
|
||||
public Object to(Node u) {
|
||||
return u == null ? null : XMLasDOMBinding.toString(u);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Object> fromType() {
|
||||
return Object.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Node> toType() {
|
||||
return Node.class;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user