Class ResolvedType

  • Direct Known Subclasses:
    JavaType

    public abstract class ResolvedType
    extends java.lang.Object
    Type abstraction that represents Java type that has been resolved (i.e. has all generic information, if any, resolved to concrete types). Note that this is an intermediate type, and all concrete instances MUST be of type JavaType from "databind" bundle -- this abstraction is only needed so that types can be passed through JsonParser.readValueAs(java.lang.Class<T>) methods.
    Since:
    2.0
    • Constructor Summary

      Constructors 
      Constructor Description
      ResolvedType()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      abstract ResolvedType containedType​(int index)
      Method for accessing definitions of contained ("child") types.
      abstract int containedTypeCount()
      Method for checking how many contained types this type has.
      abstract java.lang.String containedTypeName​(int index)
      Method for accessing name of type variable in indicated position.
      abstract ResolvedType getContentType()
      Method for accessing content type of this type, if type has such a thing: simple types do not, structured types do (like arrays, Collections and Maps)
      abstract ResolvedType getKeyType()
      Method for accessing key type for this type, assuming type has such a concept (only Map types do)
      java.lang.Class<?> getParameterSource()
      Deprecated.
      Since 2.7: does not have meaning as parameters depend on type resolved.
      abstract java.lang.Class<?> getRawClass()  
      abstract ResolvedType getReferencedType()
      Method for accessing type of value that instances of this type references, if any.
      abstract boolean hasGenericTypes()
      Method that can be used to find out if the type directly declares generic parameters (for its direct super-class and/or super-interfaces).
      abstract boolean hasRawClass​(java.lang.Class<?> clz)  
      abstract boolean isAbstract()  
      abstract boolean isArrayType()  
      abstract boolean isCollectionLikeType()  
      abstract boolean isConcrete()  
      abstract boolean isContainerType()  
      abstract boolean isEnumType()  
      abstract boolean isFinal()  
      abstract boolean isInterface()  
      abstract boolean isMapLikeType()  
      abstract boolean isPrimitive()  
      boolean isReferenceType()
      Whether this type is a referential type, meaning that values are basically pointers to "real" values (or null) and not regular values themselves.
      abstract boolean isThrowable()  
      abstract java.lang.String toCanonical()
      Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (using TypeFactory from mapper package).
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ResolvedType

        public ResolvedType()
    • Method Detail

      • getRawClass

        public abstract java.lang.Class<?> getRawClass()
        Returns:
        Type-erased Class of resolved type
      • hasRawClass

        public abstract boolean hasRawClass​(java.lang.Class<?> clz)
      • isAbstract

        public abstract boolean isAbstract()
      • isConcrete

        public abstract boolean isConcrete()
      • isThrowable

        public abstract boolean isThrowable()
      • isArrayType

        public abstract boolean isArrayType()
      • isEnumType

        public abstract boolean isEnumType()
      • isInterface

        public abstract boolean isInterface()
      • isPrimitive

        public abstract boolean isPrimitive()
      • isFinal

        public abstract boolean isFinal()
      • isContainerType

        public abstract boolean isContainerType()
      • isCollectionLikeType

        public abstract boolean isCollectionLikeType()
      • isReferenceType

        public boolean isReferenceType()
        Whether this type is a referential type, meaning that values are basically pointers to "real" values (or null) and not regular values themselves. Typical examples include things like AtomicReference, and various Optional types (in JDK8, Guava).
        Returns:
        True if this is a "referential" type, false if not
        Since:
        2.6
      • isMapLikeType

        public abstract boolean isMapLikeType()
      • hasGenericTypes

        public abstract boolean hasGenericTypes()
        Method that can be used to find out if the type directly declares generic parameters (for its direct super-class and/or super-interfaces).
        Returns:
        True if this type has generic type parameters, false if not
      • getParameterSource

        @Deprecated
        public java.lang.Class<?> getParameterSource()
        Deprecated.
        Since 2.7: does not have meaning as parameters depend on type resolved.
        Returns:
        Type-erased class of something not usable at this point
      • getKeyType

        public abstract ResolvedType getKeyType()
        Method for accessing key type for this type, assuming type has such a concept (only Map types do)
        Returns:
        Key type of this type, if any; null if none
      • getContentType

        public abstract ResolvedType getContentType()
        Method for accessing content type of this type, if type has such a thing: simple types do not, structured types do (like arrays, Collections and Maps)
        Returns:
        Content type of this type, if any; null if none
      • getReferencedType

        public abstract ResolvedType getReferencedType()
        Method for accessing type of value that instances of this type references, if any.
        Returns:
        Referenced type, if any; null if not.
        Since:
        2.6
      • containedTypeCount

        public abstract int containedTypeCount()
        Method for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.
        Returns:
        Number of contained types that may be accessed
      • containedType

        public abstract ResolvedType containedType​(int index)
        Method for accessing definitions of contained ("child") types.
        Parameters:
        index - Index of contained type to return
        Returns:
        Contained type at index, or null if no such type exists (no exception thrown)
      • containedTypeName

        public abstract java.lang.String containedTypeName​(int index)
        Method for accessing name of type variable in indicated position. If no name is bound, will use placeholders (derived from 0-based index); if no type variable or argument exists with given index, null is returned.
        Parameters:
        index - Index of contained type to return
        Returns:
        Contained type at index, or null if no such type exists (no exception thrown)
      • toCanonical

        public abstract java.lang.String toCanonical()
        Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (using TypeFactory from mapper package). For simple types this is same as calling Class.getName(), but for structured types it may additionally contain type information about contents.
        Returns:
        String representation of the fully resolved type