Package com.jsoniter.spi
Class TypeLiteral<T>
- java.lang.Object
-
- com.jsoniter.spi.TypeLiteral<T>
-
public class TypeLiteral<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TypeLiteral.NativeType
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.String
decoderCacheKey
(package private) java.lang.String
encoderCacheKey
(package private) TypeLiteral.NativeType
nativeType
static java.util.Map<java.lang.reflect.Type,TypeLiteral.NativeType>
nativeTypes
(package private) java.lang.reflect.Type
type
private static java.util.Map<java.lang.reflect.Type,TypeLiteral>
typeLiteralCache
-
Constructor Summary
Constructors Modifier Constructor Description protected
TypeLiteral()
Constructs a new type literal.TypeLiteral(java.lang.reflect.Type type, java.lang.String decoderCacheKey, java.lang.String encoderCacheKey)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TypeLiteral
create(java.lang.reflect.Type valueType)
private static TypeLiteral
createNew(java.lang.reflect.Type valueType)
private static java.lang.String
formatTypeWithoutSpecialCharacter(java.lang.reflect.Type type)
private static java.lang.String
generateCacheKey(java.lang.reflect.Type type, java.lang.String prefix)
private static java.lang.String
generateDecoderCacheKey(java.lang.reflect.Type type)
private static java.lang.String
generateEncoderCacheKey(java.lang.reflect.Type type)
java.lang.String
getDecoderCacheKey()
java.lang.String
getDecoderCacheKey(java.lang.String configName)
java.lang.String
getEncoderCacheKey()
java.lang.String
getEncoderCacheKey(java.lang.String configName)
TypeLiteral.NativeType
getNativeType()
(package private) static java.lang.reflect.Type
getSuperclassTypeParameter(java.lang.Class<?> subclass)
java.lang.reflect.Type
getType()
java.lang.String
toString()
-
-
-
Field Detail
-
nativeTypes
public static java.util.Map<java.lang.reflect.Type,TypeLiteral.NativeType> nativeTypes
-
typeLiteralCache
private static volatile java.util.Map<java.lang.reflect.Type,TypeLiteral> typeLiteralCache
-
type
final java.lang.reflect.Type type
-
decoderCacheKey
final java.lang.String decoderCacheKey
-
encoderCacheKey
final java.lang.String encoderCacheKey
-
nativeType
final TypeLiteral.NativeType nativeType
-
-
Constructor Detail
-
TypeLiteral
protected TypeLiteral()
Constructs a new type literal. Derives represented class from type parameter. Clients create an empty anonymous subclass. Doing so embeds the type parameter in the anonymous class's type hierarchy so we can reconstitute it at runtime despite erasure.
-
TypeLiteral
public TypeLiteral(java.lang.reflect.Type type, java.lang.String decoderCacheKey, java.lang.String encoderCacheKey)
-
-
Method Detail
-
generateDecoderCacheKey
private static java.lang.String generateDecoderCacheKey(java.lang.reflect.Type type)
-
generateEncoderCacheKey
private static java.lang.String generateEncoderCacheKey(java.lang.reflect.Type type)
-
generateCacheKey
private static java.lang.String generateCacheKey(java.lang.reflect.Type type, java.lang.String prefix)
-
formatTypeWithoutSpecialCharacter
private static java.lang.String formatTypeWithoutSpecialCharacter(java.lang.reflect.Type type)
-
getSuperclassTypeParameter
static java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class<?> subclass)
-
create
public static TypeLiteral create(java.lang.reflect.Type valueType)
-
createNew
private static TypeLiteral createNew(java.lang.reflect.Type valueType)
-
getType
public java.lang.reflect.Type getType()
-
getDecoderCacheKey
public java.lang.String getDecoderCacheKey()
-
getDecoderCacheKey
public java.lang.String getDecoderCacheKey(java.lang.String configName)
-
getEncoderCacheKey
public java.lang.String getEncoderCacheKey()
-
getEncoderCacheKey
public java.lang.String getEncoderCacheKey(java.lang.String configName)
-
getNativeType
public TypeLiteral.NativeType getNativeType()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-