public interface Serializer<T>
Modifier and Type | Field and Description |
---|---|
static Serializer<java.awt.Color> |
COLOR_SERIALIZER |
static Serializer<java.awt.Rectangle> |
RECT_SERIALIZER |
Modifier and Type | Method and Description |
---|---|
default Serializer<T[]> |
array(java.util.function.IntFunction<T[]> generator)
Transform a serializer for the type
T into a serializer for the
type List<T> , using a JSON array to store the values. |
T |
deserialize(java.lang.Object o)
Convert a JSON object into an object of type
T . |
static <T> Serializer<T[]> |
getArraySerializer(java.lang.Class<T> clazz) |
static <T extends java.lang.Enum<T>> |
getEnumSerializer(java.lang.Class<T> clazz) |
static Serializer<java.io.File> |
getFileSerializer(java.util.function.Supplier<java.io.File> path) |
static <T> Serializer<T> |
getSerializer(java.lang.Class<T> clazz) |
static <T extends Stmt> |
getStmtSerializer(LogicalSystem logicalSystem) |
static <T extends Sym> |
getSymSerializer(LogicalSystem logicalSystem) |
static <T> Serializer<T> |
identity() |
default Serializer<java.util.List<T>> |
list()
Transform a serializer for the type
T into a serializer for the
type List<T> , using a JSON array to store the values. |
default Serializer<java.util.Map<java.lang.String,T>> |
map()
Transform a serializer for the type
T into a serializer for the
type Map<String, T> , using a JSON object to store the mappings. |
static <T> Serializer<T> |
of(java.util.function.Function<java.lang.Object,T> deser,
java.util.function.Function<T,java.lang.Object> ser) |
default Serializer<java.util.Optional<T>> |
opt()
Transform a serializer for the type
T into a serializer for the
type List<T> , using a JSON array to store the values. |
java.lang.Object |
serialize(T value)
Convert an object of the target type to a JSON node.
|
default Serializer<java.util.Set<T>> |
set()
Transform a serializer for the type
T into a serializer for the
type Set<T> , using a JSON array to store the values. |
static final Serializer<java.awt.Color> COLOR_SERIALIZER
static final Serializer<java.awt.Rectangle> RECT_SERIALIZER
T deserialize(java.lang.Object o)
T
. Intended to be
overridden; the default implementation just casts the object, and so is
only valid for settings of type String
, JSONArray
,
JSONObject
and primitive data types.o
- The stored JSON node, in any valid JSON typeT
java.lang.Object serialize(T value)
String
, JSONArray
,
JSONObject
and primitive data types.value
- The data to serializestatic <T> Serializer<T> of(java.util.function.Function<java.lang.Object,T> deser, java.util.function.Function<T,java.lang.Object> ser)
default Serializer<T[]> array(java.util.function.IntFunction<T[]> generator)
T
into a serializer for the
type List<T>
, using a JSON array to store the values.generator
- An array constructor for the type T
default Serializer<java.util.List<T>> list()
T
into a serializer for the
type List<T>
, using a JSON array to store the values.default Serializer<java.util.Set<T>> set()
T
into a serializer for the
type Set<T>
, using a JSON array to store the values.default Serializer<java.util.Map<java.lang.String,T>> map()
T
into a serializer for the
type Map<String, T>
, using a JSON object to store the mappings.default Serializer<java.util.Optional<T>> opt()
T
into a serializer for the
type List<T>
, using a JSON array to store the values.static <T extends java.lang.Enum<T>> Serializer<T> getEnumSerializer(java.lang.Class<T> clazz)
static Serializer<java.io.File> getFileSerializer(java.util.function.Supplier<java.io.File> path)
static <T> Serializer<T[]> getArraySerializer(java.lang.Class<T> clazz)
static <T extends Stmt> Serializer<T> getStmtSerializer(LogicalSystem logicalSystem)
static <T extends Sym> Serializer<T> getSymSerializer(LogicalSystem logicalSystem)
static <T> Serializer<T> identity()
static <T> Serializer<T> getSerializer(java.lang.Class<T> clazz)