Package ratpack.func

Class Types


  • public abstract class Types
    extends Object
    Static utility methods for dealing with types.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T cast​(Object o)
      Simply casts the argument to T.
      static <T> com.google.common.reflect.TypeToken<T> intern​(com.google.common.reflect.TypeToken<T> typeToken)
      Intern the given type token.
      static <T> com.google.common.reflect.TypeToken<List<T>> listOf​(Class<T> type)
      Creates a type token for a list of of the given type.
      static <T> com.google.common.reflect.TypeToken<T> token​(Class<T> clazz)
      Create a type token for the given class.
      static com.google.common.reflect.TypeToken<?> token​(Type type)
      Create a type token for the given runtime type.
    • Method Detail

      • cast

        public static <T> T cast​(Object o)
        Simply casts the argument to T.

        This method will throw ClassCastException if o is not compatible with T.

        Type Parameters:
        T - the target type
        Parameters:
        o - the object to cast
        Returns:
        the input object cast to the target type
      • token

        public static com.google.common.reflect.TypeToken<?> token​(Type type)
        Create a type token for the given runtime type. This method should be preferred over TypeToken.of(Type) as the result may be interned when not in development.
        Parameters:
        type - the type
        Returns:
        a type token for the given type
        Since:
        1.1
      • token

        public static <T> com.google.common.reflect.TypeToken<T> token​(Class<T> clazz)
        Create a type token for the given class. This method should be preferred over TypeToken.of(Class) as the result may be interned when not in development.
        Type Parameters:
        T - the type
        Parameters:
        clazz - the class
        Returns:
        a type token for the given class
        Since:
        1.1
      • intern

        public static <T> com.google.common.reflect.TypeToken<T> intern​(com.google.common.reflect.TypeToken<T> typeToken)
        Intern the given type token.
        Type Parameters:
        T - the type
        Parameters:
        typeToken - the type token to intern
        Returns:
        the given type token interned
        Since:
        1.5
      • listOf

        public static <T> com.google.common.reflect.TypeToken<List<T>> listOf​(Class<T> type)
        Creates a type token for a list of of the given type.
        
         import ratpack.func.Types;
         import com.google.common.reflect.TypeToken;
        
         import java.util.List;
        
         import static org.junit.jupiter.api.Assertions.*;
        
         public class Example {
           public static void main(String... args) {
             assertEquals(Types.listOf(String.class), new TypeToken<List<String>>() {});
           }
         }
         
        Type Parameters:
        T - the list element type
        Parameters:
        type - the list element type
        Returns:
        a type token for a list of of the given type.