Add a Container.toString() to help when debugging.
Change-Id: I61224c5741552cf09dcdc72cf14a850abef813b1
diff --git a/src/main/java/com/google/gerrit/common/Container.java b/src/main/java/com/google/gerrit/common/Container.java
index eb0a0f6..6e11534 100644
--- a/src/main/java/com/google/gerrit/common/Container.java
+++ b/src/main/java/com/google/gerrit/common/Container.java
@@ -55,4 +55,21 @@
}
return Objects.hash(values);
}
+
+ @Override
+ public String toString() {
+ List<String> fieldStrings = new ArrayList<>();
+ try {
+ for (Field field : getClass().getDeclaredFields()) {
+ field.setAccessible(true);
+ fieldStrings.add(field.getName() + ": " + Objects.toString(field.get(this)));
+ }
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ }
+ String fields = String.join(", ", fieldStrings);
+ if (!"".equals(fields)) {
+ fields = "{" + fields + "}";
+ }
+ return getClass().toString() + fields;
+ }
}