@Component(value="core_EntitySerialization") public class EntitySerializationImpl extends java.lang.Object implements EntitySerialization
| Modifier and Type | Class and Description |
|---|---|
protected class |
EntitySerializationImpl.DateDeserializer |
protected class |
EntitySerializationImpl.DateSerializer |
protected class |
EntitySerializationImpl.EntityDeserializer |
protected static class |
EntitySerializationImpl.EntitySerializationContext
Class is used for storing a collection of entities already processed during the serialization.
|
protected class |
EntitySerializationImpl.EntitySerializer |
| Modifier and Type | Field and Description |
|---|---|
protected AccessManager |
accessManager |
protected java.lang.ThreadLocal<EntitySerializationImpl.EntitySerializationContext> |
context |
protected CoreProperties |
coreProperties |
protected DatatypeRegistry |
datatypeRegistry |
protected EntityStates |
entityStates |
protected Metadata |
metadata |
protected MetadataTools |
metadataTools |
protected EntitySerializationTokenManager |
tokenManager |
ENTITY_NAME_PROP, INSTANCE_NAME_PROP| Constructor and Description |
|---|
EntitySerializationImpl() |
| Modifier and Type | Method and Description |
|---|---|
protected com.google.gson.Gson |
createGsonForDeserialization(MetaClass metaClass,
EntitySerializationOption... options) |
protected com.google.gson.Gson |
createGsonForSerialization(FetchPlan fetchPlan,
EntitySerializationOption... options) |
<T> java.util.Collection<T> |
entitiesCollectionFromJson(java.lang.String json,
MetaClass metaClass,
EntitySerializationOption... options)
Deserializes a JSON array of objects to entities collection
|
<T> T |
entityFromJson(java.lang.String json,
MetaClass metaClass,
EntitySerializationOption... options)
Deserializes a JSON object to the entity.
|
protected java.lang.reflect.Field |
getField(java.lang.Class clazz,
java.lang.String fieldName) |
protected void |
makeFieldAccessible(java.lang.reflect.Field field) |
<T> T |
objectFromJson(java.lang.String json,
java.lang.reflect.Type type,
EntitySerializationOption... options)
Deserializes an object of any class from JSON.
|
java.lang.String |
objectToJson(java.lang.Object object,
EntitySerializationOption... options)
Serializes any custom POJO or collection of POJOs or JSON.
|
java.lang.String |
toJson(java.util.Collection<?> entities)
An overloaded version of the
EntitySerialization.toJson(Collection, FetchPlan, EntitySerializationOption...) method with a null
fetchPlan parameter and with no serialization options. |
java.lang.String |
toJson(java.util.Collection<?> entities,
FetchPlan fetchPlan,
EntitySerializationOption... options)
Serializes a collection of entities to the JSON array.
|
java.lang.String |
toJson(java.lang.Object entity)
An overloaded version of the
EntitySerialization.toJson(Object, FetchPlan, EntitySerializationOption...) method with a null
fetchPlan parameter and with no serialization options. |
java.lang.String |
toJson(java.lang.Object entity,
FetchPlan fetchPlan,
EntitySerializationOption... options)
Serializes a single entity to the JSON object graph.
|
@Autowired protected MetadataTools metadataTools
@Autowired protected Metadata metadata
@Autowired protected AccessManager accessManager
@Autowired protected EntityStates entityStates
@Autowired protected DatatypeRegistry datatypeRegistry
@Autowired protected EntitySerializationTokenManager tokenManager
@Autowired protected CoreProperties coreProperties
protected java.lang.ThreadLocal<EntitySerializationImpl.EntitySerializationContext> context
public java.lang.String toJson(java.lang.Object entity)
EntitySerializationEntitySerialization.toJson(Object, FetchPlan, EntitySerializationOption...) method with a null
fetchPlan parameter and with no serialization options.toJson in interface EntitySerializationentity - an entity to be serializedpublic java.lang.String toJson(java.lang.Object entity,
@Nullable
FetchPlan fetchPlan,
EntitySerializationOption... options)
EntitySerialization
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. See EntitySerializationOption for details.
Additionally, an "_entityName" property is added to the JSON objects that represent an entity.
toJson in interface EntitySerializationentity - 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 serializedpublic java.lang.String toJson(java.util.Collection<?> entities)
EntitySerializationEntitySerialization.toJson(Collection, FetchPlan, EntitySerializationOption...) method with a null
fetchPlan parameter and with no serialization options.toJson in interface EntitySerializationentities - a collection of entities to be serializedpublic java.lang.String toJson(java.util.Collection<?> entities,
@Nullable
FetchPlan fetchPlan,
EntitySerializationOption... options)
EntitySerializationEntitySerialization.toJson(Object, FetchPlan,
EntitySerializationOption...), but return a JSON array as a result.toJson in interface EntitySerializationentities - 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 serializedpublic java.lang.String objectToJson(java.lang.Object object,
EntitySerializationOption... options)
EntitySerializationDateTimeDatatype.objectToJson in interface EntitySerializationobject - any POJO or collection of POJOsoptions - options specifying how a JSON object graph for fields with type 'Entity' will be serializedpublic <T> T entityFromJson(java.lang.String json,
@Nullable
MetaClass metaClass,
EntitySerializationOption... options)
EntitySerialization
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. See EntitySerializationOption for details.
entityFromJson in interface EntitySerializationjson - a string that represents a JSON objectmetaClass - a metaClass of the entity that will be createdoptions - options specifying how a JSON object graph was serializedpublic <T> java.util.Collection<T> entitiesCollectionFromJson(java.lang.String json,
@Nullable
MetaClass metaClass,
EntitySerializationOption... options)
EntitySerializationentitiesCollectionFromJson in interface EntitySerializationjson - 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 serializedpublic <T> T objectFromJson(java.lang.String json,
java.lang.reflect.Type type,
EntitySerializationOption... options)
EntitySerializationDateTimeDatatype format, entities object and fields of Entity type are
deserialized like in the EntitySerialization.entityFromJson(String, MetaClass, EntitySerializationOption...) methodobjectFromJson in interface EntitySerializationjson - a string that represents an objecttype - type of the objectoptions - options specifying how a JSON object graph was serializedprotected com.google.gson.Gson createGsonForSerialization(@Nullable
FetchPlan fetchPlan,
EntitySerializationOption... options)
protected com.google.gson.Gson createGsonForDeserialization(@Nullable
MetaClass metaClass,
EntitySerializationOption... options)
@Nullable
protected java.lang.reflect.Field getField(@Nullable
java.lang.Class clazz,
java.lang.String fieldName)
protected void makeFieldAccessible(java.lang.reflect.Field field)