Class TypeLiteral<T>

  • Type Parameters:
    T - the type, including all actual type parameters
    All Implemented Interfaces:
    java.io.Serializable

    public abstract class TypeLiteral<T>
    extends java.lang.Object
    implements java.io.Serializable

    Supports inline instantiation of objects that represent parameterized types with actual type parameters.

    An object that represents any parameterized type may be obtained by subclassing TypeLiteral.

     TypeLiteral<List<String>> stringListType = new TypeLiteral<List<String>>() {
     };
     
    See Also:
    Instance.select(TypeLiteral, Annotation...), Event.select(TypeLiteral, Annotation...), Serialized Form
    • Field Detail

      • actualType

        private transient java.lang.reflect.Type actualType
    • Constructor Detail

      • TypeLiteral

        protected TypeLiteral()
    • Method Detail

      • getType

        public final java.lang.reflect.Type getType()
        Returns:
        the actual type represented by this object
      • getRawType

        public final java.lang.Class<T> getRawType()
        Returns:
        the raw type represented by this object
      • getTypeLiteralSubclass

        private static java.lang.Class<?> getTypeLiteralSubclass​(java.lang.Class<?> clazz)
      • getTypeParameter

        private static java.lang.reflect.Type getTypeParameter​(java.lang.Class<?> superclass)
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object