public abstract class JavaType extends ResolvedType implements Serializable, Type
 Instances can (only) be constructed by
 com.fasterxml.jackson.databind.TypeFactory.
 Since 2.2 this implements Type to allow
 it to be pushed through interfaces that only expose that type.
| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | _asStaticWhether entities defined with this type should be handled using
 static typing (as opposed to dynamic runtime type) or not. | 
| protected Class<?> | _classThis is the nominal type-erased Class that would be close to the
 type represented (but not exactly type, due to type erasure: type
 instance may have more information on this). | 
| protected int | _hash | 
| protected Object | _typeHandlerOptional handler that can be attached to indicate how to handle
 additional type metadata associated with this type. | 
| protected Object | _valueHandlerOptional handler (codec) that can be attached to indicate 
 what to use for handling (serializing, deserializing) values of
 this specific type. | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | JavaType(Class<?> raw,
        int additionalHash,
        Object valueHandler,
        Object typeHandler,
        boolean asStatic) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | _assertSubclass(Class<?> subclass,
               Class<?> superClass) | 
| protected abstract JavaType | _narrow(Class<?> subclass) | 
| protected JavaType | _widen(Class<?> superclass)
 Default implementation is just to call  _narrow(java.lang.Class<?>), since
 underlying type construction is usually identical | 
| JavaType | containedType(int index) | 
| int | containedTypeCount() | 
| String | containedTypeName(int index) | 
| abstract boolean | equals(Object o) | 
| JavaType | forcedNarrowBy(Class<?> subclass)More efficient version of  narrowBy(java.lang.Class<?>), called by
 internal framework in cases where compatibility checks
 are to be skipped. | 
| JavaType | getContentType() | 
| String | getErasedSignature()Method for accessing signature without generic
 type information, in form compatible with all versions
 of JVM, and specifically used for type descriptions
 when generating byte code. | 
| abstract StringBuilder | getErasedSignature(StringBuilder sb)Method for accessing signature without generic
 type information, in form compatible with all versions
 of JVM, and specifically used for type descriptions
 when generating byte code. | 
| String | getGenericSignature()Method for accessing signature that contains generic
 type information, in form compatible with JVM 1.5
 as per JLS. | 
| abstract StringBuilder | getGenericSignature(StringBuilder sb) | 
| JavaType | getKeyType() | 
| Class<?> | getRawClass() | 
| <T> T | getTypeHandler()Method for accessing type handler associated with this type, if any | 
| <T> T | getValueHandler()Method for accessing value handler associated with this type, if any | 
| boolean | hasGenericTypes() | 
| int | hashCode() | 
| boolean | hasRawClass(Class<?> clz)Method that can be used to check whether this type has
 specified Class as its type erasure. | 
| boolean | isAbstract() | 
| boolean | isArrayType() | 
| boolean | isCollectionLikeType() | 
| boolean | isConcrete()Convenience method for checking whether underlying Java type
 is a concrete class or not: abstract classes and interfaces
 are not. | 
| abstract boolean | isContainerType() | 
| boolean | isEnumType() | 
| boolean | isFinal() | 
| boolean | isInterface() | 
| boolean | isMapLikeType() | 
| boolean | isPrimitive() | 
| boolean | isThrowable() | 
| JavaType | narrowBy(Class<?> subclass)Method that can be called to do a "narrowing" conversions; that is,
 to return a type with a raw class that is assignable to the raw
 class of this type. | 
| abstract JavaType | narrowContentsBy(Class<?> contentClass) | 
| abstract String | toString() | 
| boolean | useStaticType()Accessor for checking whether handlers for dealing with values of
 this type should use static typing (as opposed to dynamic typing). | 
| JavaType | widenBy(Class<?> superclass)Method that can be called to do a "widening" conversions; that is,
 to return a type with a raw class that could be assigned from this
 type. | 
| abstract JavaType | widenContentsBy(Class<?> contentClass) | 
| abstract JavaType | withContentTypeHandler(Object h)"Copy method" that will construct a new instance that is identical to
 this instance, except that its content type will have specified
 type handler assigned. | 
| abstract JavaType | withContentValueHandler(Object h)"Copy method" that will construct a new instance that is identical to
 this instance, except that it will have specified content value handler assigned. | 
| abstract JavaType | withStaticTyping()Method that can be called to get a type instance that indicates
 that values of the type should be handled using "static typing" for purposes
 of serialization (as opposed to "dynamic" aka runtime typing):
 meaning that no runtime information is needed for determining serializers to use. | 
| abstract JavaType | withTypeHandler(Object h)"Copy method" that will construct a new instance that is identical to
 this instance, except that it will have specified type handler assigned. | 
| abstract JavaType | withValueHandler(Object h)"Copy method" that will construct a new instance that is identical to
 this instance, except that it will have specified value handler assigned. | 
toCanonicalprotected final Class<?> _class
protected final int _hash
protected final Object _valueHandler
Note: untyped (i.e. caller has to cast) because it is used for different kinds of handlers, with unrelated types.
protected final Object _typeHandler
Note: untyped (i.e. caller has to cast) because it is used for different kinds of handlers, with unrelated types.
protected final boolean _asStatic
public abstract JavaType withTypeHandler(Object h)
public abstract JavaType withContentTypeHandler(Object h)
public abstract JavaType withValueHandler(Object h)
public abstract JavaType withContentValueHandler(Object h)
public abstract JavaType withStaticTyping()
public JavaType narrowBy(Class<?> subclass)
IllegalArgumentException is thrown.
 If class is same as the current raw class, instance itself is
 returned.public JavaType forcedNarrowBy(Class<?> subclass)
narrowBy(java.lang.Class<?>), called by
 internal framework in cases where compatibility checks
 are to be skipped.public JavaType widenBy(Class<?> superclass)
IllegalArgumentException is thrown.
 If class is same as the current raw class, instance itself is
 returned.protected JavaType _widen(Class<?> superclass)
 Default implementation is just to call _narrow(java.lang.Class<?>), since
 underlying type construction is usually identical
public final Class<?> getRawClass()
getRawClass in class ResolvedTypepublic final boolean hasRawClass(Class<?> clz)
hasRawClass in class ResolvedTypepublic boolean isAbstract()
isAbstract in class ResolvedTypepublic boolean isConcrete()
isConcrete in class ResolvedTypepublic boolean isThrowable()
isThrowable in class ResolvedTypepublic boolean isArrayType()
isArrayType in class ResolvedTypepublic final boolean isEnumType()
isEnumType in class ResolvedTypepublic final boolean isInterface()
isInterface in class ResolvedTypepublic final boolean isPrimitive()
isPrimitive in class ResolvedTypepublic final boolean isFinal()
isFinal in class ResolvedTypepublic abstract boolean isContainerType()
isContainerType in class ResolvedTypepublic boolean isCollectionLikeType()
isCollectionLikeType in class ResolvedTypeCollection type,
    or something similar (meaning it has at least one type parameter,
    which describes type of contents)public boolean isMapLikeType()
isMapLikeType in class ResolvedTypeMap type,
    or something similar (meaning it has at least two type parameter;
    first one describing key type, second value type)public final boolean useStaticType()
public boolean hasGenericTypes()
hasGenericTypes in class ResolvedTypepublic JavaType getKeyType()
getKeyType in class ResolvedTypepublic JavaType getContentType()
getContentType in class ResolvedTypepublic int containedTypeCount()
containedTypeCount in class ResolvedTypepublic JavaType containedType(int index)
containedType in class ResolvedTypepublic String containedTypeName(int index)
containedTypeName in class ResolvedTypepublic <T> T getValueHandler()
public <T> T getTypeHandler()
public String getGenericSignature()
getErasedSignature(),
 in that generic information can be automatically removed
 if necessary (just remove outermost
 angle brackets along with content inside)public abstract StringBuilder getGenericSignature(StringBuilder sb)
sb - StringBuilder to append signature topublic String getErasedSignature()
public abstract StringBuilder getErasedSignature(StringBuilder sb)
sb - StringBuilder to append signature toCopyright © 2014 FasterXML. All Rights Reserved.