Class MapLikeType
java.lang.Object
org.codehaus.jackson.type.JavaType
org.codehaus.jackson.map.type.TypeBase
org.codehaus.jackson.map.type.MapLikeType
- All Implemented Interfaces:
JsonSerializable, JsonSerializableWithType
- Direct Known Subclasses:
MapType
Type that represents Map-like types; things that consist of key/value pairs but that
do not necessarily implement
Map, but that do not have enough
introspection functionality to allow for some level of generic handling.
This specifically allows framework to check for configuration and annotation
settings used for Map types, and pass these to custom handlers that may be more
familiar with actual type.- Since:
- 1.8
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final JavaTypeType of keys of Map.protected final JavaTypeType of values of Map.Fields inherited from class JavaType
_class, _hashCode, _typeHandler, _valueHandler -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMapLikeType(Class<?> mapType, JavaType keyT, JavaType valueT) Deprecated.protectedMapLikeType(Class<?> mapType, JavaType keyT, JavaType valueT, Object valueHandler, Object typeHandler) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaTypeprotected Stringstatic MapLikeTypecontainedType(int index) Method for accessing definitions of contained ("child") types.intMethod for checking how many contained types this type has.containedTypeName(int index) Not sure if we should count on this, but type names for core interfaces are "K" and "V" respectively.booleanMethod 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)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.Method for accessing key type for this type, assuming type has such a concept (only Map types do)booleanbooleanbooleanMethod that can be used for checking whether this type is a "real" Collection type; meaning whether it represents a parameterized subtype ofCollectionor just something that acts like one.narrowContentsBy(Class<?> contentClass) toString()widenContentsBy(Class<?> contentClass) "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."Copy method" that will construct a new instance that is identical to this instance, except that it will have specified type handler assigned.Methods inherited from class TypeBase
_classSignature, getTypeHandler, getValueHandler, serialize, serializeWithType, toCanonicalMethods inherited from class JavaType
_assertSubclass, _widen, forcedNarrowBy, getErasedSignature, getGenericSignature, getRawClass, hasGenericTypes, hashCode, hasRawClass, isAbstract, isArrayType, isCollectionLikeType, isConcrete, isEnumType, isFinal, isInterface, isPrimitive, isThrowable, narrowBy, setValueHandler, widenBy
-
Field Details
-
_keyType
Type of keys of Map. -
_valueType
Type of values of Map.
-
-
Constructor Details
-
MapLikeType
Deprecated. -
MapLikeType
-
-
Method Details
-
construct
-
_narrow
-
narrowContentsBy
- Specified by:
narrowContentsByin classJavaType
-
widenContentsBy
- Specified by:
widenContentsByin classJavaType
-
narrowKey
-
widenKey
-
withTypeHandler
Description copied from class:JavaType"Copy method" that will construct a new instance that is identical to this instance, except that it will have specified type handler assigned.- Specified by:
withTypeHandlerin classJavaType- Returns:
- Newly created type instance
-
withContentTypeHandler
Description copied from class:JavaType"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.- Specified by:
withContentTypeHandlerin classJavaType- Returns:
- Newly created type instance
-
withValueHandler
- Overrides:
withValueHandlerin classJavaType
-
withContentValueHandler
- Overrides:
withContentValueHandlerin classJavaType
-
buildCanonicalName
- Specified by:
buildCanonicalNamein classTypeBase
-
isContainerType
public boolean isContainerType()- Specified by:
isContainerTypein classJavaType- Returns:
- True if type represented is a container type; this includes array, Map and Collection types.
-
isMapLikeType
public boolean isMapLikeType()- Overrides:
isMapLikeTypein classJavaType- Returns:
- True if type is either true
Maptype, or something similar (meaning it has at least two type parameter; first one describing key type, second value type)
-
getKeyType
Description copied from class:JavaTypeMethod for accessing key type for this type, assuming type has such a concept (only Map types do)- Overrides:
getKeyTypein classJavaType
-
getContentType
Description copied from class:JavaTypeMethod 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)- Overrides:
getContentTypein classJavaType
-
containedTypeCount
public int containedTypeCount()Description copied from class:JavaTypeMethod for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.- Overrides:
containedTypeCountin classJavaType
-
containedType
Description copied from class:JavaTypeMethod for accessing definitions of contained ("child") types.- Overrides:
containedTypein classJavaType- Parameters:
index- Index of contained type to return- Returns:
- Contained type at index, or null if no such type exists (no exception thrown)
-
containedTypeName
Not sure if we should count on this, but type names for core interfaces are "K" and "V" respectively. For now let's assume this should work.- Overrides:
containedTypeNamein classJavaType- Parameters:
index- Index of contained type to return- Returns:
- Contained type at index, or null if no such type exists (no exception thrown)
-
getErasedSignature
Description copied from class:JavaTypeMethod 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.- Specified by:
getErasedSignaturein classTypeBase- Parameters:
sb- StringBuilder to append signature to- Returns:
- StringBuilder that was passed in; returned to allow call chaining
-
getGenericSignature
- Specified by:
getGenericSignaturein classTypeBase- Parameters:
sb- StringBuilder to append signature to- Returns:
- StringBuilder that was passed in; returned to allow call chaining
-
withKeyTypeHandler
- Since:
- 1.9
-
withKeyValueHandler
- Since:
- 1.9
-
isTrueMapType
public boolean isTrueMapType()Method that can be used for checking whether this type is a "real" Collection type; meaning whether it represents a parameterized subtype ofCollectionor just something that acts like one.- Since:
- 1.8
-
toString
-
equals
-