Github user aledsage commented on a diff in the pull request:
https://github.com/apache/brooklyn-server/pull/817#discussion_r138592431
--- Diff:
utils/common/src/main/java/org/apache/brooklyn/util/guava/TypeTokens.java ---
@@ -24,6 +24,14 @@
public class TypeTokens {
+ // creating TypeToken is surprisingly expensive so cache these common
ones
+ public static TypeToken<String> STRING = TypeToken.of(String.class);
--- End diff --
If leaving as-is, then these should be `final`.
I'd have gone for:
```
public static final Map<Class<?>, TypeToken<?>> COMMON_TYPE_TOKENS =
ImmutableMap.<Class<?>, TypeToken<?>>builder()
.put(String.class, TypeToken.of(String.class))
...
.build();
```
And:
```
TypeToken<?> result = COMMON_TYPE_TOKENS.get(raw);
if (result == null) result = TypeToken.of((Class<T>)raw);
return (TypeToken<T>) result;
```
---