Package org.nustaq.kson
Class KsonTypeMapper
java.lang.Object
org.nustaq.kson.KsonTypeMapper
public class KsonTypeMapper
extends java.lang.Object
simple implementation of type mapper.
* Maps Classes to short string names and vice versa.
* allows to add user-defined type conversions (e.g. Date, Collections)
This default implementation supports Date<=>String and Collections<=>Array coercion.
-
Field Summary
Fields Modifier and Type Field Description protected java.text.DateFormatdateTimeInstancestatic java.lang.ObjectNULL_LITERALprotected java.util.HashMap<java.lang.Class,java.lang.String>reverseTypeMapprotected java.util.HashMap<java.lang.String,java.lang.Class>typeMapprotected booleanuseSimplClzName -
Constructor Summary
Constructors Constructor Description KsonTypeMapper() -
Method Summary
Modifier and Type Method Description java.lang.ObjectcoerceReading(java.lang.Class type, java.lang.Object readObject)map given Object to a target type.java.text.DateFormatgetDateTimeInstance()java.lang.StringgetStringForType(java.lang.Class<? extends java.lang.Object> aClass)java.lang.ClassgetType(java.lang.String type)booleanisUseSimplClzName()KsonTypeMappermap(java.lang.Class... c)KsonTypeMappermap(java.lang.Object... stringAndClasses)KsonTypeMappermap(java.lang.String name, java.lang.Class c)java.lang.ObjectmapLiteral(java.lang.String type)voidsetDateTimeInstance(java.text.DateFormat dateTimeInstance)voidsetUseSimplClzName(boolean useSimplClzName)
-
Field Details
-
NULL_LITERAL
public static final java.lang.Object NULL_LITERAL -
useSimplClzName
protected boolean useSimplClzName -
typeMap
protected java.util.HashMap<java.lang.String,java.lang.Class> typeMap -
reverseTypeMap
protected java.util.HashMap<java.lang.Class,java.lang.String> reverseTypeMap -
dateTimeInstance
protected java.text.DateFormat dateTimeInstance
-
-
Constructor Details
-
KsonTypeMapper
public KsonTypeMapper()
-
-
Method Details
-
getType
public java.lang.Class getType(java.lang.String type) -
map
-
map
-
map
-
isUseSimplClzName
public boolean isUseSimplClzName() -
setUseSimplClzName
public void setUseSimplClzName(boolean useSimplClzName) -
coerceReading
public java.lang.Object coerceReading(java.lang.Class type, java.lang.Object readObject)map given Object to a target type. (needs support in coerceWriting also) Note one could add a pluggable Serializer/Coercer pattern here if required. Skipped for now for simplicity.- Parameters:
type- - of target fieldreadObject- - object read from string- Returns:
-
getDateTimeInstance
public java.text.DateFormat getDateTimeInstance() -
setDateTimeInstance
public void setDateTimeInstance(java.text.DateFormat dateTimeInstance) -
mapLiteral
public java.lang.Object mapLiteral(java.lang.String type) -
getStringForType
public java.lang.String getStringForType(java.lang.Class<? extends java.lang.Object> aClass)
-