Interface EntitySerialization
- All Known Implementing Classes:
EntitySerializationImpl
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescription<T> Collection<T>
entitiesCollectionFromJson
(String json, MetaClass metaClass, EntitySerializationOption... options) Deserializes a JSON array of objects to entities collection<T> T
entityFromJson
(String json, MetaClass metaClass, EntitySerializationOption... options) Deserializes a JSON object to the entity.<T> T
objectFromJson
(String json, Type type, EntitySerializationOption... options) Deserializes an object of any class from JSON.objectToJson
(Object object, EntitySerializationOption... options) Serializes any custom POJO or collection of POJOs or JSON.An overloaded version of thetoJson(Object, FetchPlan, EntitySerializationOption...)
method with a nullfetchPlan
parameter and with no serialization options.toJson
(Object entity, FetchPlan fetchPlan, EntitySerializationOption... options) Serializes a single entity to the JSON object graph.toJson
(Collection<?> entities) An overloaded version of thetoJson(Collection, FetchPlan, EntitySerializationOption...)
method with a nullfetchPlan
parameter and with no serialization options.toJson
(Collection<?> entities, FetchPlan fetchPlan, EntitySerializationOption... options) Serializes a collection of entities to the JSON array.
-
Field Details
-
ENTITY_NAME_PROP
- See Also:
-
INSTANCE_NAME_PROP
- See Also:
-
-
Method Details
-
toJson
Serializes a single entity to the JSON object graph.If the
fetchPlan
parameter is null then all loaded entity properties will be presented in JSON, otherwise only loaded properties that are in the fetchPlan will be in the JSON object.The
options
parameter specify some additional options for the serialization process. For example, repeated entities may be replaced with the object with the only "id" property, making the result JSON more compact. SeeEntitySerializationOption
for details.Additionally, an "_entityName" property is added to the JSON objects that represent an entity.
- Parameters:
entity
- an entity to be serializedfetchPlan
- a fetch plan that defines which entity properties should be added to the result JSON objectoptions
- options specifying how an entity should be serialized- Returns:
- a string that represents a JSON object
-
toJson
String toJson(Collection<?> entities, @Nullable FetchPlan fetchPlan, EntitySerializationOption... options) Serializes a collection of entities to the JSON array. Method works like thetoJson(Object, FetchPlan, EntitySerializationOption...)
, but return a JSON array as a result.- Parameters:
entities
- a list of entities to be serializedfetchPlan
- a fetch plan that defines which entity properties should be added to the result JSON objectoptions
- options specifying how an entity should be serialized- Returns:
- a string that represents a JSON array of objects.
-
toJson
An overloaded version of thetoJson(Object, FetchPlan, EntitySerializationOption...)
method with a nullfetchPlan
parameter and with no serialization options.- Parameters:
entity
- an entity to be serialized- Returns:
- a string that represents a JSON object
-
toJson
An overloaded version of thetoJson(Collection, FetchPlan, EntitySerializationOption...)
method with a nullfetchPlan
parameter and with no serialization options.- Parameters:
entities
- a collection of entities to be serialized- Returns:
- a string that represent a JSON array which contains entity objects
-
objectToJson
Serializes any custom POJO or collection of POJOs or JSON. If some field in POJO is an entity then this field will be serialized according to entity serialization rules. Date fields are serialized according to the format of theDateTimeDatatype
.- Parameters:
object
- any POJO or collection of POJOsoptions
- options specifying how a JSON object graph for fields with type 'Entity' will be serialized- Returns:
- a string that represents a JSON object or JSON array
-
entityFromJson
<T> T entityFromJson(String json, @Nullable MetaClass metaClass, EntitySerializationOption... options) Deserializes a JSON object to the entity.The
metaClass
parameter defines a result entity metaClass. It is optional. It must be defined if the JSON object doesn't contain an "_entityName" property.An entity may be serialized to the JSON in slightly different formats. The format is defined by the
options
parameter. SeeEntitySerializationOption
for details.- Parameters:
json
- a string that represents a JSON objectmetaClass
- a metaClass of the entity that will be createdoptions
- options specifying how a JSON object graph was serialized- Returns:
- an entity
-
entitiesCollectionFromJson
<T> Collection<T> entitiesCollectionFromJson(String json, @Nullable MetaClass metaClass, EntitySerializationOption... options) Deserializes a JSON array of objects to entities collection- Parameters:
json
- a string that represents a JSON array of objectsmetaClass
- a metaClass of the entities that will be createdoptions
- options specifying how a JSON object graph was serialized- Returns:
- an entities collection
-
objectFromJson
Deserializes an object of any class from JSON. Date fields are deserialized according to theDateTimeDatatype
format, entities object and fields of Entity type are deserialized like in theentityFromJson(String, MetaClass, EntitySerializationOption...)
method- Parameters:
json
- a string that represents an objecttype
- type of the objectoptions
- options specifying how a JSON object graph was serialized- Returns:
- deserialized object
-