From c6e3b61acaa90a1202db30bf103aadb4b8e6937e Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Sun, 2 Dec 2012 12:16:55 +0100 Subject: [PATCH] [#1989] Add Record.changed(Field), changed(int), changed(String) to check whether a single field's value has changed --- .../org/jooq/test/_/testcases/RecordTests.java | 4 ++++ jOOQ/src/main/java/org/jooq/Record.java | 18 ++++++++++++++++++ .../java/org/jooq/impl/AbstractRecord.java | 15 +++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/RecordTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/RecordTests.java index a895c94057..49e63c7b20 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/RecordTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/RecordTests.java @@ -106,7 +106,11 @@ extends BaseTest field); + + /** + * Check if a field's value has been changed from its original as fetched + * from the database. + */ + boolean changed(int fieldIndex); + + /** + * Check if a field's value has been changed from its original as fetched + * from the database. + */ + boolean changed(String fieldName); + /** * Convert this record into an array. *

diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java index c285519f65..a8b3c75179 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractRecord.java @@ -369,6 +369,21 @@ abstract class AbstractRecord extends AbstractStore implements Record { return false; } + @Override + public final boolean changed(Field field) { + return changed(getIndex(field)); + } + + @Override + public final boolean changed(int fieldIndex) { + return getValue0(fieldIndex).isChanged(); + } + + @Override + public final boolean changed(String fieldName) { + return changed(getIndex(fieldName)); + } + @Override public final Object[] intoArray() { return into(Object[].class);