Interface IJsonIO

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String TYPE  
    • Method Summary

      All Methods Static Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      static boolean isSimpleType​(java.lang.Class cls)  
      static boolean isSimpleType​(java.lang.Object value)  
      default void load​(javax.script.Bindings bindings)
      Implement this method to control loading from the Json bindings.
      static void loadFields​(IJsonIO obj, java.lang.Class cls, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      E
      read​(java.lang.String tag, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      E
      read​(javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      java.util.List<E>
      readList​(java.lang.String tag, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      java.util.List<E>
      readList​(javax.script.Bindings bindings)  
      default void save​(javax.script.Bindings bindings)
      Implement this method to control saving to a Json bindings.
      static void saveFields​(IJsonIO obj, java.lang.Class cls, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      void
      write​(E obj, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      void
      write​(java.lang.String tag, E obj, javax.script.Bindings bindings)  
      static <E extends IJsonIO>
      void
      writeList​(java.lang.String tag, java.util.List<E> list, javax.script.Bindings bindings)  
    • Method Detail

      • read

        static <E extends IJsonIO> E read​(javax.script.Bindings bindings)
      • read

        static <E extends IJsonIO> E read​(java.lang.String tag,
                                          javax.script.Bindings bindings)
      • write

        static <E extends IJsonIO> void write​(E obj,
                                              javax.script.Bindings bindings)
      • write

        static <E extends IJsonIO> void write​(java.lang.String tag,
                                              E obj,
                                              javax.script.Bindings bindings)
      • readList

        static <E extends IJsonIO> java.util.List<E> readList​(javax.script.Bindings bindings)
      • readList

        static <E extends IJsonIO> java.util.List<E> readList​(java.lang.String tag,
                                                              javax.script.Bindings bindings)
      • writeList

        static <E extends IJsonIO> void writeList​(java.lang.String tag,
                                                  java.util.List<E> list,
                                                  javax.script.Bindings bindings)
      • load

        default void load​(javax.script.Bindings bindings)
        Implement this method to control loading from the Json bindings. The default behavior simply loads values corresponding with your class's field values.

        The bindings is just a simple map with name value pairs, which usually maps directly to your class's fields. But anything goes; you can read and write anything from/to the Bindings.

        Use #read() etc. to read proper Json data.

        Parameters:
        bindings -
      • save

        default void save​(javax.script.Bindings bindings)
        Implement this method to control saving to a Json bindings. The default behavior simply saves all your class's non-transient instance fields.

        Basically, the bindings is a simple map where you write name/value pairs representing your class's format. Typically you save just your field values, but you can save anything you like.

        Use #write(String, Object, Bindings) etc. to write proper Json data.

        Parameters:
        bindings -
      • loadFields

        static void loadFields​(IJsonIO obj,
                               java.lang.Class cls,
                               javax.script.Bindings bindings)
      • saveFields

        static void saveFields​(IJsonIO obj,
                               java.lang.Class cls,
                               javax.script.Bindings bindings)
      • isSimpleType

        static boolean isSimpleType​(java.lang.Object value)
      • isSimpleType

        static boolean isSimpleType​(java.lang.Class cls)