Package gw.lang.reflect.json
Interface IJsonIO
-
- All Known Subinterfaces:
IRunConfig<T>,IRunConfigParameters<T>,ISettings<T>,ISettingsParameters<T>
- All Known Implementing Classes:
AbstractRunConfig,AbstractRunConfigParameters,AbstractSearchDialog.State,AbstractSettings,AbstractSettingsParameters,AppearanceSettings,AppearanceSettingsParameters,Breakpoint,CompilerSettings,CompilerSettingsParameters,FqnRunConfig,FqnRunConfigParameters,ProgramRunConfig,ProgramRunConfigParameters,RemoteRunConfig,RemoteRunConfigParameters,RunToCursorBreakpoint
public interface IJsonIO
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringTYPE
-
Method Summary
All Methods Static Methods Instance Methods Default Methods Modifier and Type Method Description static booleanisSimpleType(java.lang.Class cls)static booleanisSimpleType(java.lang.Object value)default voidload(javax.script.Bindings bindings)Implement this method to control loading from the Json bindings.static voidloadFields(IJsonIO obj, java.lang.Class cls, javax.script.Bindings bindings)static <E extends IJsonIO>
Eread(java.lang.String tag, javax.script.Bindings bindings)static <E extends IJsonIO>
Eread(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 voidsave(javax.script.Bindings bindings)Implement this method to control saving to a Json bindings.static voidsaveFields(IJsonIO obj, java.lang.Class cls, javax.script.Bindings bindings)static <E extends IJsonIO>
voidwrite(E obj, javax.script.Bindings bindings)static <E extends IJsonIO>
voidwrite(java.lang.String tag, E obj, javax.script.Bindings bindings)static <E extends IJsonIO>
voidwriteList(java.lang.String tag, java.util.List<E> list, javax.script.Bindings bindings)
-
-
-
Field Detail
-
TYPE
static final java.lang.String TYPE
- See Also:
- Constant Field Values
-
-
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)
-
-