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.DateFormat dateTimeInstance  
    static java.lang.Object NULL_LITERAL  
    protected java.util.HashMap<java.lang.Class,​java.lang.String> reverseTypeMap  
    protected java.util.HashMap<java.lang.String,​java.lang.Class> typeMap  
    protected boolean useSimplClzName  
  • Constructor Summary

    Constructors 
    Constructor Description
    KsonTypeMapper()  
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object coerceReading​(java.lang.Class type, java.lang.Object readObject)
    map given Object to a target type.
    java.text.DateFormat getDateTimeInstance()  
    java.lang.String getStringForType​(java.lang.Class<? extends java.lang.Object> aClass)  
    java.lang.Class getType​(java.lang.String type)  
    boolean isUseSimplClzName()  
    KsonTypeMapper map​(java.lang.Class... c)  
    KsonTypeMapper map​(java.lang.Object... stringAndClasses)  
    KsonTypeMapper map​(java.lang.String name, java.lang.Class c)  
    java.lang.Object mapLiteral​(java.lang.String type)  
    void setDateTimeInstance​(java.text.DateFormat dateTimeInstance)  
    void setUseSimplClzName​(boolean useSimplClzName)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

  • Method Details

    • getType

      public java.lang.Class getType​(java.lang.String type)
    • map

      public KsonTypeMapper map​(java.lang.String name, java.lang.Class c)
    • map

      public KsonTypeMapper map​(java.lang.Object... stringAndClasses)
    • map

      public KsonTypeMapper map​(java.lang.Class... c)
    • 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 field
      readObject - - 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)