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;
    ```


---

Reply via email to