diff --git a/changelog/@unreleased/pr-555.v2.yml b/changelog/@unreleased/pr-555.v2.yml new file mode 100644 index 000000000..a5c85846e --- /dev/null +++ b/changelog/@unreleased/pr-555.v2.yml @@ -0,0 +1,5 @@ +type: improvement +improvement: + description: Simplify conjure object toString implementation + links: + - https://github.com/palantir/conjure-java/pull/555 diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/binary/BinaryExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/binary/BinaryExample.java index be5cf2bab..f29d3dbf2 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/binary/BinaryExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/binary/BinaryExample.java @@ -45,13 +45,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BinaryExample") - .append('{') - .append("binary") - .append(": ") - .append(binary) - .append('}') - .toString(); + return "BinaryExample{binary: " + binary + '}'; } public static BinaryExample of(ByteBuffer binary) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/binary/OptionalExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/binary/OptionalExample.java index c4f6bf186..c38bde751 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/binary/OptionalExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/binary/OptionalExample.java @@ -47,13 +47,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("OptionalExample") - .append('{') - .append("item") - .append(": ") - .append(item) - .append('}') - .toString(); + return "OptionalExample{item: " + item + '}'; } public static OptionalExample of(ByteBuffer item) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/AliasAsMapKeyExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/AliasAsMapKeyExample.java index 47374b54e..b16ca97cb 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/AliasAsMapKeyExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/AliasAsMapKeyExample.java @@ -124,37 +124,21 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("AliasAsMapKeyExample") - .append('{') - .append("strings") - .append(": ") - .append(strings) - .append(", ") - .append("rids") - .append(": ") - .append(rids) - .append(", ") - .append("bearertokens") - .append(": ") - .append(bearertokens) - .append(", ") - .append("integers") - .append(": ") - .append(integers) - .append(", ") - .append("safelongs") - .append(": ") - .append(safelongs) - .append(", ") - .append("datetimes") - .append(": ") - .append(datetimes) - .append(", ") - .append("uuids") - .append(": ") - .append(uuids) - .append('}') - .toString(); + return "AliasAsMapKeyExample{strings: " + + strings + + ", rids: " + + rids + + ", bearertokens: " + + bearertokens + + ", integers: " + + integers + + ", safelongs: " + + safelongs + + ", datetimes: " + + datetimes + + ", uuids: " + + uuids + + '}'; } private static void validateFields( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyExample.java index 23270e8a1..3ec576238 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyExample.java @@ -43,13 +43,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("AnyExample") - .append('{') - .append("any") - .append(": ") - .append(any) - .append('}') - .toString(); + return "AnyExample{any: " + any + '}'; } public static AnyExample of(Object any) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyMapExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyMapExample.java index 8bc9e7676..aaf7fa6b6 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyMapExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/AnyMapExample.java @@ -54,13 +54,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("AnyMapExample") - .append('{') - .append("items") - .append(": ") - .append(items) - .append('}') - .toString(); + return "AnyMapExample{items: " + items + '}'; } public static AnyMapExample of(Map items) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/BearerTokenExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/BearerTokenExample.java index d7c963dce..c1a846208 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/BearerTokenExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/BearerTokenExample.java @@ -45,13 +45,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BearerTokenExample") - .append('{') - .append("bearerTokenValue") - .append(": ") - .append(bearerTokenValue) - .append('}') - .toString(); + return "BearerTokenExample{bearerTokenValue: " + bearerTokenValue + '}'; } public static BearerTokenExample of(BearerToken bearerTokenValue) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/BinaryExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/BinaryExample.java index 4048b673f..ae1e3040c 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/BinaryExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/BinaryExample.java @@ -44,13 +44,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BinaryExample") - .append('{') - .append("binary") - .append(": ") - .append(binary) - .append('}') - .toString(); + return "BinaryExample{binary: " + binary + '}'; } public static BinaryExample of(Bytes binary) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/BooleanExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/BooleanExample.java index de761ac5c..df41b5f7d 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/BooleanExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/BooleanExample.java @@ -41,13 +41,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BooleanExample") - .append('{') - .append("coin") - .append(": ") - .append(coin) - .append('}') - .toString(); + return "BooleanExample{coin: " + coin + '}'; } public static BooleanExample of(boolean coin) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantListExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantListExample.java index 9e99a27bc..0297832fb 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantListExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantListExample.java @@ -63,17 +63,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("CovariantListExample") - .append('{') - .append("items") - .append(": ") - .append(items) - .append(", ") - .append("externalItems") - .append(": ") - .append(externalItems) - .append('}') - .toString(); + return "CovariantListExample{items: " + items + ", externalItems: " + externalItems + '}'; } public static CovariantListExample of( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantOptionalExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantOptionalExample.java index 6911c776f..34af9b478 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantOptionalExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/CovariantOptionalExample.java @@ -65,17 +65,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("CovariantOptionalExample") - .append('{') - .append("item") - .append(": ") - .append(item) - .append(", ") - .append("setItem") - .append(": ") - .append(setItem) - .append('}') - .toString(); + return "CovariantOptionalExample{item: " + item + ", setItem: " + setItem + '}'; } public static CovariantOptionalExample of(Object item, Set setItem) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/DateTimeExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/DateTimeExample.java index 2b1ad490b..d0ecfcbe6 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/DateTimeExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/DateTimeExample.java @@ -52,13 +52,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("DateTimeExample") - .append('{') - .append("datetime") - .append(": ") - .append(datetime) - .append('}') - .toString(); + return "DateTimeExample{datetime: " + datetime + '}'; } public static DateTimeExample of(OffsetDateTime datetime) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/DoubleExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/DoubleExample.java index aabd3a31a..df1b57a47 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/DoubleExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/DoubleExample.java @@ -40,13 +40,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("DoubleExample") - .append('{') - .append("doubleValue") - .append(": ") - .append(doubleValue) - .append('}') - .toString(); + return "DoubleExample{doubleValue: " + doubleValue + '}'; } public static DoubleExample of(double doubleValue) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/EnumFieldExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/EnumFieldExample.java index a6d45d4da..ef64d47e1 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/EnumFieldExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/EnumFieldExample.java @@ -44,13 +44,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("EnumFieldExample") - .append('{') - .append("enum") - .append(": ") - .append(enum_) - .append('}') - .toString(); + return "EnumFieldExample{enum: " + enum_ + '}'; } public static EnumFieldExample of(EnumExample enum_) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/ExternalLongExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/ExternalLongExample.java index ee790555d..7c184e999 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/ExternalLongExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/ExternalLongExample.java @@ -77,21 +77,13 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("ExternalLongExample") - .append('{') - .append("externalLong") - .append(": ") - .append(externalLong) - .append(", ") - .append("optionalExternalLong") - .append(": ") - .append(optionalExternalLong) - .append(", ") - .append("listExternalLong") - .append(": ") - .append(listExternalLong) - .append('}') - .toString(); + return "ExternalLongExample{externalLong: " + + externalLong + + ", optionalExternalLong: " + + optionalExternalLong + + ", listExternalLong: " + + listExternalLong + + '}'; } public static ExternalLongExample of( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/IntegerExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/IntegerExample.java index 4b630cea3..20b750cbb 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/IntegerExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/IntegerExample.java @@ -41,13 +41,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("IntegerExample") - .append('{') - .append("integer") - .append(": ") - .append(integer) - .append('}') - .toString(); + return "IntegerExample{integer: " + integer + '}'; } public static IntegerExample of(int integer) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/ListExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/ListExample.java index 23e3228af..2dba315da 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/ListExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/ListExample.java @@ -72,21 +72,13 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("ListExample") - .append('{') - .append("items") - .append(": ") - .append(items) - .append(", ") - .append("primitiveItems") - .append(": ") - .append(primitiveItems) - .append(", ") - .append("doubleItems") - .append(": ") - .append(doubleItems) - .append('}') - .toString(); + return "ListExample{items: " + + items + + ", primitiveItems: " + + primitiveItems + + ", doubleItems: " + + doubleItems + + '}'; } public static ListExample of( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/ManyFieldExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/ManyFieldExample.java index 5e1f34741..f4401cd38 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/ManyFieldExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/ManyFieldExample.java @@ -147,41 +147,23 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("ManyFieldExample") - .append('{') - .append("string") - .append(": ") - .append(string) - .append(", ") - .append("integer") - .append(": ") - .append(integer) - .append(", ") - .append("doubleValue") - .append(": ") - .append(doubleValue) - .append(", ") - .append("optionalItem") - .append(": ") - .append(optionalItem) - .append(", ") - .append("items") - .append(": ") - .append(items) - .append(", ") - .append("set") - .append(": ") - .append(set) - .append(", ") - .append("map") - .append(": ") - .append(map) - .append(", ") - .append("alias") - .append(": ") - .append(alias) - .append('}') - .toString(); + return "ManyFieldExample{string: " + + string + + ", integer: " + + integer + + ", doubleValue: " + + doubleValue + + ", optionalItem: " + + optionalItem + + ", items: " + + items + + ", set: " + + set + + ", map: " + + map + + ", alias: " + + alias + + '}'; } private static void validateFields( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/MapExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/MapExample.java index 8e435cbfc..dfdc550c6 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/MapExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/MapExample.java @@ -54,13 +54,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("MapExample") - .append('{') - .append("items") - .append(": ") - .append(items) - .append('}') - .toString(); + return "MapExample{items: " + items + '}'; } public static MapExample of(Map items) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/OptionalExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/OptionalExample.java index f67d42676..ff5567998 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/OptionalExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/OptionalExample.java @@ -46,13 +46,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("OptionalExample") - .append('{') - .append("item") - .append(": ") - .append(item) - .append('}') - .toString(); + return "OptionalExample{item: " + item + '}'; } public static OptionalExample of(String item) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/PrimitiveOptionalsExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/PrimitiveOptionalsExample.java index 9df259a87..125c20890 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/PrimitiveOptionalsExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/PrimitiveOptionalsExample.java @@ -129,37 +129,21 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("PrimitiveOptionalsExample") - .append('{') - .append("num") - .append(": ") - .append(num) - .append(", ") - .append("bool") - .append(": ") - .append(bool) - .append(", ") - .append("integer") - .append(": ") - .append(integer) - .append(", ") - .append("safelong") - .append(": ") - .append(safelong) - .append(", ") - .append("rid") - .append(": ") - .append(rid) - .append(", ") - .append("bearertoken") - .append(": ") - .append(bearertoken) - .append(", ") - .append("uuid") - .append(": ") - .append(uuid) - .append('}') - .toString(); + return "PrimitiveOptionalsExample{num: " + + num + + ", bool: " + + bool + + ", integer: " + + integer + + ", safelong: " + + safelong + + ", rid: " + + rid + + ", bearertoken: " + + bearertoken + + ", uuid: " + + uuid + + '}'; } private static void validateFields( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/ReservedKeyExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/ReservedKeyExample.java index 1a76a79ff..e5b21afdb 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/ReservedKeyExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/ReservedKeyExample.java @@ -109,33 +109,19 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("ReservedKeyExample") - .append('{') - .append("package") - .append(": ") - .append(package_) - .append(", ") - .append("interface") - .append(": ") - .append(interface_) - .append(", ") - .append("field-name-with-dashes") - .append(": ") - .append(fieldNameWithDashes) - .append(", ") - .append("primitve-field-name-with-dashes") - .append(": ") - .append(primitveFieldNameWithDashes) - .append(", ") - .append("memoizedHashCode") - .append(": ") - .append(memoizedHashCode_) - .append(", ") - .append("result") - .append(": ") - .append(result) - .append('}') - .toString(); + return "ReservedKeyExample{package: " + + package_ + + ", interface: " + + interface_ + + ", field-name-with-dashes: " + + fieldNameWithDashes + + ", primitve-field-name-with-dashes: " + + primitveFieldNameWithDashes + + ", memoizedHashCode: " + + memoizedHashCode_ + + ", result: " + + result + + '}'; } private static void validateFields( diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/RidExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/RidExample.java index f52de8e42..7283291aa 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/RidExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/RidExample.java @@ -44,13 +44,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("RidExample") - .append('{') - .append("ridValue") - .append(": ") - .append(ridValue) - .append('}') - .toString(); + return "RidExample{ridValue: " + ridValue + '}'; } public static RidExample of(ResourceIdentifier ridValue) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/SafeLongExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/SafeLongExample.java index beb401845..505143846 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/SafeLongExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/SafeLongExample.java @@ -45,13 +45,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("SafeLongExample") - .append('{') - .append("safeLongValue") - .append(": ") - .append(safeLongValue) - .append('}') - .toString(); + return "SafeLongExample{safeLongValue: " + safeLongValue + '}'; } public static SafeLongExample of(SafeLong safeLongValue) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/SetExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/SetExample.java index 77c94f5c4..7a6357b36 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/SetExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/SetExample.java @@ -63,17 +63,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("SetExample") - .append('{') - .append("items") - .append(": ") - .append(items) - .append(", ") - .append("doubleItems") - .append(": ") - .append(doubleItems) - .append('}') - .toString(); + return "SetExample{items: " + items + ", doubleItems: " + doubleItems + '}'; } public static SetExample of(Set items, Set doubleItems) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/SingleUnion.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/SingleUnion.java index 79f283820..e9d20cf35 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/SingleUnion.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/SingleUnion.java @@ -60,13 +60,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("SingleUnion") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "SingleUnion{value: " + value + '}'; } public interface Visitor { @@ -171,13 +165,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("FooWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "FooWrapper{value: " + value + '}'; } } @@ -235,17 +223,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("UnknownWrapper") - .append('{') - .append("type") - .append(": ") - .append(type) - .append(", ") - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "UnknownWrapper{type: " + type + ", value: " + value + '}'; } } } diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/StringExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/StringExample.java index 1c3f08868..f802a2955 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/StringExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/StringExample.java @@ -43,13 +43,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("StringExample") - .append('{') - .append("string") - .append(": ") - .append(string) - .append('}') - .toString(); + return "StringExample{string: " + string + '}'; } public static StringExample of(String string) { diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/Union.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/Union.java index ad04cd8eb..f2a52ca8e 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/Union.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/Union.java @@ -73,13 +73,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("Union") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "Union{value: " + value + '}'; } public interface Visitor { @@ -232,13 +226,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("FooWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "FooWrapper{value: " + value + '}'; } } @@ -273,13 +261,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BarWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "BarWrapper{value: " + value + '}'; } } @@ -314,13 +296,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("BazWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "BazWrapper{value: " + value + '}'; } } @@ -378,17 +354,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("UnknownWrapper") - .append('{') - .append("type") - .append(": ") - .append(type) - .append(", ") - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "UnknownWrapper{type: " + type + ", value: " + value + '}'; } } } diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/UnionTypeExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/UnionTypeExample.java index b840813cc..0e9e9f755 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/UnionTypeExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/UnionTypeExample.java @@ -101,13 +101,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("UnionTypeExample") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "UnionTypeExample{value: " + value + '}'; } public interface Visitor { @@ -359,13 +353,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("StringExampleWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "StringExampleWrapper{value: " + value + '}'; } } @@ -400,13 +388,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("SetWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "SetWrapper{value: " + value + '}'; } } @@ -443,13 +425,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("ThisFieldIsAnIntegerWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "ThisFieldIsAnIntegerWrapper{value: " + value + '}'; } } @@ -486,13 +462,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("AlsoAnIntegerWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "AlsoAnIntegerWrapper{value: " + value + '}'; } } @@ -527,13 +497,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("IfWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "IfWrapper{value: " + value + '}'; } } @@ -568,13 +532,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("NewWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "NewWrapper{value: " + value + '}'; } } @@ -610,13 +568,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("InterfaceWrapper") - .append('{') - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "InterfaceWrapper{value: " + value + '}'; } } @@ -674,17 +626,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("UnknownWrapper") - .append('{') - .append("type") - .append(": ") - .append(type) - .append(", ") - .append("value") - .append(": ") - .append(value) - .append('}') - .toString(); + return "UnknownWrapper{type: " + type + ", value: " + value + '}'; } } } diff --git a/conjure-java-core/src/integrationInput/java/com/palantir/product/UuidExample.java b/conjure-java-core/src/integrationInput/java/com/palantir/product/UuidExample.java index 0dda23977..f3e6caaef 100644 --- a/conjure-java-core/src/integrationInput/java/com/palantir/product/UuidExample.java +++ b/conjure-java-core/src/integrationInput/java/com/palantir/product/UuidExample.java @@ -44,13 +44,7 @@ public int hashCode() { @Override public String toString() { - return new StringBuilder("UuidExample") - .append('{') - .append("uuid") - .append(": ") - .append(uuid) - .append('}') - .toString(); + return "UuidExample{uuid: " + uuid + '}'; } public static UuidExample of(UUID uuid) { diff --git a/conjure-java-core/src/main/java/com/palantir/conjure/java/types/MethodSpecs.java b/conjure-java-core/src/main/java/com/palantir/conjure/java/types/MethodSpecs.java index ed52a4372..15a1ba20b 100644 --- a/conjure-java-core/src/main/java/com/palantir/conjure/java/types/MethodSpecs.java +++ b/conjure-java-core/src/main/java/com/palantir/conjure/java/types/MethodSpecs.java @@ -16,6 +16,8 @@ package com.palantir.conjure.java.types; +import static com.palantir.logsafe.Preconditions.checkState; + import com.google.common.collect.Iterables; import com.palantir.conjure.java.util.JavaNameSanitizer; import com.palantir.conjure.spec.FieldName; @@ -29,6 +31,7 @@ import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Collection; +import java.util.List; import java.util.Objects; import java.util.stream.Collector; import javax.lang.model.element.Modifier; @@ -104,37 +107,33 @@ private static CodeBlock getHashInput(Collection fields) { .collect(joining(CodeBlock.of(", ")))); } - public static MethodSpec createToString(String thisClassName, Collection fieldNames) { - CodeBlock returnStatement = fieldNames.isEmpty() - ? CodeBlock.builder().addStatement("return $S", thisClassName + "{}").build() - : CodeBlock.builder() - .add("return new $T($S).append('{')\n", StringBuilder.class, thisClassName) - .indent() - .indent() - .add(CodeBlocks.of(fieldNames.stream() - .map(MethodSpecs::createAppendStatement) - .collect(joining(CodeBlock.of(".append(\", \")"))))) - .unindent() - .add(".append('}')\n") - .addStatement(".toString()") - .unindent() - .build(); - + static MethodSpec createToString(String thisClassName, List fieldNames) { return MethodSpec.methodBuilder("toString") .addAnnotation(Override.class) .addModifiers(Modifier.PUBLIC) .returns(ClassName.get(String.class)) - .addCode(returnStatement) + .addCode(fieldNames.isEmpty() + ? CodeBlock.builder().addStatement("return $S", thisClassName + "{}").build() + : CodeBlock.builder() + .addStatement("return $L", toStringConcatenation(thisClassName, fieldNames)) + .build()) .build(); } - private static CodeBlock createAppendStatement(FieldName fieldName) { - return CodeBlock.builder() - .add(".append($S)", fieldName.get()) - .add(".append(\": \")") - .add(".append($N)", JavaNameSanitizer.sanitize(fieldName)) - .add("\n") - .build(); + private static CodeBlock toStringConcatenation(String thisClassName, List fieldNames) { + checkState(!fieldNames.isEmpty(), + "String concatenation is only necessary if there are fields"); + CodeBlock.Builder builder = CodeBlock.builder() + .add("$S\n", thisClassName + '{' + fieldNames.get(0).get() + ": "); + for (int i = 0; i < fieldNames.size(); i++) { + FieldName fieldName = fieldNames.get(i); + // The name of the first field is included with the class name + if (i != 0) { + builder.add(" + $S", ", " + fieldName.get() + ": "); + } + builder.add(" + $N", JavaNameSanitizer.sanitize(fieldName)); + } + return builder.add(" + '}'").build(); } private static CodeBlock createEqualsToStatement(Collection fields) {