Skip to content

Commit dee37c8

Browse files
committed
adds toString on generated ParameterizedType
It eases the debugging when parameterized types are created using the Types.newParameterizedType factory method.
1 parent 51982bb commit dee37c8

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

Diff for: restx-common/src/main/java/restx/common/Types.java

+40
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,46 @@ public boolean equals(Object obj) {
5757
}
5858
return false;
5959
}
60+
61+
@Override
62+
public String toString() {
63+
StringBuilder sb = new StringBuilder();
64+
Type ownerType = getOwnerType();
65+
if (ownerType != null) {
66+
if (ownerType instanceof Class) {
67+
sb.append(((Class) ownerType).getName());
68+
} else {
69+
sb.append(ownerType.toString());
70+
}
71+
72+
sb.append(".");
73+
if (ownerType instanceof ParameterizedType) {
74+
75+
sb.append(rawType.getName().replace(((Class) ((ParameterizedType) ownerType).getRawType()).getName() + "$", ""));
76+
} else {
77+
sb.append(rawType.getName());
78+
}
79+
} else {
80+
sb.append(rawType.getName());
81+
}
82+
83+
if (arguments != null && arguments.length > 0) {
84+
sb.append("<");
85+
boolean first = true;
86+
87+
for (Type current : arguments) {
88+
if (!first) {
89+
sb.append(", ");
90+
}
91+
sb.append(current.toString()); // getTypeName() in jse8
92+
first = false;
93+
}
94+
95+
sb.append(">");
96+
}
97+
98+
return sb.toString();
99+
}
60100
};
61101
}
62102

0 commit comments

Comments
 (0)