/** * Extracted method to ensure generic type safety. */ private final <T> void setValue(Record record, Field<T> field) { record.set(field, get(field)); } });
/** * Type-safely set a value to a record */ static final <T> void setValue(Record target, Field<T> targetField, Object value) { target.set(targetField, targetField.getDataType().convert(value)); }
private static final <T> void pgSetValue(Record record, Field<T> field, String value) { record.set(field, pgFromString(field.getConverter(), value)); }
@SuppressWarnings("unchecked") protected /* non-final */ T compositeKeyRecord(Object... values) { UniqueKey<R> key = table.getPrimaryKey(); if (key == null) return null; TableField<R, Object>[] fields = (TableField<R, Object>[]) key.getFieldsArray(); Record result = DSL.using(configuration) .newRecord(fields); for (int i = 0; i < values.length; i++) result.set(fields[i], fields[i].getDataType().convert(values[i])); return (T) result; }
@SuppressWarnings("unchecked") protected /* non-final */ T compositeKeyRecord(Object... values) { UniqueKey<R> key = table.getPrimaryKey(); if (key == null) return null; TableField<R, Object>[] fields = (TableField<R, Object>[]) key.getFieldsArray(); Record result = DSL.using(queryExecutor.configuration()) .newRecord(fields); for (int i = 0; i < values.length; i++) result.set(fields[i], fields[i].getDataType().convert(values[i])); return (T) result; }
@SuppressWarnings("unchecked") protected /* non-final */ T compositeKeyRecord(Object... values) { UniqueKey<R> key = table.getPrimaryKey(); if (key == null) return null; TableField<R, Object>[] fields = (TableField<R, Object>[]) key.getFieldsArray(); Record result = DSL.using(queryExecutor.configuration()) .newRecord(fields); for (int i = 0; i < values.length; i++) result.set(fields[i], fields[i].getDataType().convert(values[i])); return (T) result; }
/** * Defaults fields that have a default value and are nullable. * @param record the record * @return the record */ private Record setDefault(Record record) { int size = record.size(); for (int i = 0; i < size; i++) if (record.get(i) == null) { @SuppressWarnings("unchecked") Field<Object> field = (Field<Object>) record.field(i); if (!field.getDataType().nullable() && !field.getDataType().identity()) record.set(field, DSL.defaultValue()); } return record; }
/** * Defaults fields that have a default value and are nullable. * @param record the record * @return the record */ private Record setDefault(Record record) { int size = record.size(); for (int i = 0; i < size; i++) if (record.get(i) == null) { @SuppressWarnings("unchecked") Field<Object> field = (Field<Object>) record.field(i); if (!field.getDataType().nullable() && !field.getDataType().identity()) record.set(field, DSL.defaultValue()); } return record; }