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 classTypeLiteral.NativeType
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.StringdecoderCacheKey(package private) java.lang.StringencoderCacheKey(package private) TypeLiteral.NativeTypenativeTypestatic java.util.Map<java.lang.reflect.Type,TypeLiteral.NativeType>nativeTypes(package private) java.lang.reflect.Typetypeprivate static java.util.Map<java.lang.reflect.Type,TypeLiteral>typeLiteralCache
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeLiteral()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 TypeLiteralcreate(java.lang.reflect.Type valueType)private static TypeLiteralcreateNew(java.lang.reflect.Type valueType)private static java.lang.StringformatTypeWithoutSpecialCharacter(java.lang.reflect.Type type)private static java.lang.StringgenerateCacheKey(java.lang.reflect.Type type, java.lang.String prefix)private static java.lang.StringgenerateDecoderCacheKey(java.lang.reflect.Type type)private static java.lang.StringgenerateEncoderCacheKey(java.lang.reflect.Type type)java.lang.StringgetDecoderCacheKey()java.lang.StringgetDecoderCacheKey(java.lang.String configName)java.lang.StringgetEncoderCacheKey()java.lang.StringgetEncoderCacheKey(java.lang.String configName)TypeLiteral.NativeTypegetNativeType()(package private) static java.lang.reflect.TypegetSuperclassTypeParameter(java.lang.Class<?> subclass)java.lang.reflect.TypegetType()java.lang.StringtoString()
-
-
-
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:
toStringin classjava.lang.Object
-
-