From bdf031af56a01863eeea9abbbbb53826a9e9f5f1 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 2 Jan 2013 10:52:50 +0100 Subject: [PATCH] [#2072] Let UDTRecordImpl and ArrayRecordImpl.toString() return a valid constructor expression --- .../java/org/jooq/impl/ArrayRecordImpl.java | 16 ++++++++++++++- .../java/org/jooq/impl/UDTRecordImpl.java | 20 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ArrayRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/ArrayRecordImpl.java index 502511385a..c3aca1df13 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ArrayRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ArrayRecordImpl.java @@ -196,7 +196,21 @@ public class ArrayRecordImpl extends AbstractStore implements ArrayRecord @Override public String toString() { - return getClass().getSimpleName() + " [values=" + getList() + "]"; + StringBuilder result = new StringBuilder(); + String separator = ""; + + result.append(getName()); + result.append("("); + + for (T t : array) { + result.append(separator); + result.append(t); + + separator = ", "; + } + + result.append(")"); + return result.toString(); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java index a66b84b79d..9f101a5a9f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTRecordImpl.java @@ -111,4 +111,24 @@ public class UDTRecordImpl> extends AbstractRecord implem private final void setValue(SQLOutput stream, Field field) throws SQLException { Utils.writeToSQLOutput(stream, field, getValue(field)); } + + @Override + public String toString() { + StringBuilder result = new StringBuilder(); + String separator = ""; + + result.append(create().render(getUDT())); + result.append("("); + + for (Object o : intoArray()) { + result.append(separator); + result.append(o); + + separator = ", "; + } + + result.append(")"); + + return result.toString(); + } }