|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.fasterxml.jackson.core.type.ResolvedType com.fasterxml.jackson.databind.JavaType
public abstract class JavaType
Base class for type token classes used both to contain information and as keys for deserializers.
Instances can (only) be constructed by
com.fasterxml.jackson.databind.TypeFactory
(included in "jackson-databind")
Field Summary | |
---|---|
protected Class<?> |
_class
This 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 |
_hashCode
|
protected Object |
_typeHandler
Optional handler that can be attached to indicate how to handle additional type metadata associated with this type. |
protected Object |
_valueHandler
Optional handler (codec) that can be attached to indicate what to use for handling (serializing, deserializing) values of this specific type. |
Constructor Summary | |
---|---|
protected |
JavaType(Class<?> raw,
int additionalHash,
Object valueHandler,
Object typeHandler)
|
Method Summary | ||
---|---|---|
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()
|
|
|
getTypeHandler()
Method for accessing type handler associated with this type, if any |
|
|
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()
|
|
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 |
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. |
Methods inherited from class com.fasterxml.jackson.core.type.ResolvedType |
---|
toCanonical |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected final Class<?> _class
protected final int _hashCode
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.
Constructor Detail |
---|
protected JavaType(Class<?> raw, int additionalHash, Object valueHandler, Object typeHandler)
raw
- "Raw" (type-erased) class for this typeadditionalHash
- Additional hash code to use, in addition
to hash code of the class nameMethod Detail |
---|
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 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 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
public abstract JavaType narrowContentsBy(Class<?> contentClass)
public abstract JavaType widenContentsBy(Class<?> contentClass)
public final Class<?> getRawClass()
getRawClass
in class com.fasterxml.jackson.core.type.ResolvedType
public final boolean hasRawClass(Class<?> clz)
hasRawClass
in class com.fasterxml.jackson.core.type.ResolvedType
public boolean isAbstract()
isAbstract
in class com.fasterxml.jackson.core.type.ResolvedType
public boolean isConcrete()
isConcrete
in class com.fasterxml.jackson.core.type.ResolvedType
public boolean isThrowable()
isThrowable
in class com.fasterxml.jackson.core.type.ResolvedType
public boolean isArrayType()
isArrayType
in class com.fasterxml.jackson.core.type.ResolvedType
public final boolean isEnumType()
isEnumType
in class com.fasterxml.jackson.core.type.ResolvedType
public final boolean isInterface()
isInterface
in class com.fasterxml.jackson.core.type.ResolvedType
public final boolean isPrimitive()
isPrimitive
in class com.fasterxml.jackson.core.type.ResolvedType
public final boolean isFinal()
isFinal
in class com.fasterxml.jackson.core.type.ResolvedType
public abstract boolean isContainerType()
isContainerType
in class com.fasterxml.jackson.core.type.ResolvedType
public boolean isCollectionLikeType()
isCollectionLikeType
in class com.fasterxml.jackson.core.type.ResolvedType
Collection
type,
or something similar (meaning it has at least one type parameter,
which describes type of contents)public boolean isMapLikeType()
isMapLikeType
in class com.fasterxml.jackson.core.type.ResolvedType
Map
type,
or something similar (meaning it has at least two type parameter;
first one describing key type, second value type)public boolean hasGenericTypes()
hasGenericTypes
in class com.fasterxml.jackson.core.type.ResolvedType
public JavaType getKeyType()
getKeyType
in class com.fasterxml.jackson.core.type.ResolvedType
public JavaType getContentType()
getContentType
in class com.fasterxml.jackson.core.type.ResolvedType
public int containedTypeCount()
containedTypeCount
in class com.fasterxml.jackson.core.type.ResolvedType
public JavaType containedType(int index)
containedType
in class com.fasterxml.jackson.core.type.ResolvedType
public String containedTypeName(int index)
containedTypeName
in class com.fasterxml.jackson.core.type.ResolvedType
public <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 to
public String getErasedSignature()
public abstract StringBuilder getErasedSignature(StringBuilder sb)
sb
- StringBuilder to append signature to
protected void _assertSubclass(Class<?> subclass, Class<?> superClass)
public abstract String toString()
toString
in class Object
public abstract boolean equals(Object o)
equals
in class Object
public final int hashCode()
hashCode
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |