Class JsonSerialization
The deserialization of each node _requires_ the deserializer to be able to resolve the Concept used. If this requirement is not satisfied the deserialization will fail. The actual class implementing Node being instantiated will depend on the configuration. Specific classes for specific Concepts can be registered, and the usage of DynamicNode for all others can be enabled.
Note that by default JsonSerialization will require specific Node subclasses to be specified. For example, it will need to know that the concept with id 'foo-library' can be deserialized to instances of the class Library. If you want serialization to instantiate DynamicNodes for concepts for which you do not have a corresponding Node subclass, then you need to enable that behavior explicitly by calling getNodeInstantiator().enableDynamicNodes().
-
Field Summary
Fields inherited from class io.lionweb.lioncore.java.serialization.AbstractSerialization
builtinsReferenceDangling, classifierResolver, DEFAULT_SERIALIZATION_FORMAT, instanceResolver, instantiator, primitiveValuesSerialization, unavailableChildrenPolicy, unavailableParentPolicy, unavailableReferenceTargetPolicy
-
Method Summary
Modifier and TypeMethodDescriptiondeserializeToClassifierInstances
(com.google.gson.JsonElement jsonElement) deserializeToNodes
(com.google.gson.JsonElement jsonElement) deserializeToNodes
(File file) deserializeToNodes
(InputStream inputStream) deserializeToNodes
(String json) deserializeToNodes
(URL url) loadLanguage
(File file) Load a single Language from a file.loadLanguage
(InputStream inputStream) Load a single Language from an InputStream.loadLanguage
(String json) Load a single Language from a string.static void
saveLanguageToFile
(Language language, File file) com.google.gson.JsonElement
serializeNodesToJsonElement
(ClassifierInstance<?>... classifierInstances) com.google.gson.JsonElement
serializeNodesToJsonElement
(List<ClassifierInstance<?>> classifierInstances) serializeNodesToJsonString
(ClassifierInstance<?>... classifierInstances) serializeNodesToJsonString
(List<ClassifierInstance<?>> classifierInstances) com.google.gson.JsonElement
serializeTreesToJsonElement
(ClassifierInstance<?>... roots) serializeTreesToJsonString
(ClassifierInstance<?>... classifierInstances) com.google.gson.JsonElement
serializeTreeToJsonElement
(ClassifierInstance<?> classifierInstance) serializeTreeToJsonString
(ClassifierInstance<?> classifierInstance) Methods inherited from class io.lionweb.lioncore.java.serialization.AbstractSerialization
deserializeSerializationBlock, enableDynamicNodes, getClassifierResolver, getInstanceResolver, getInstantiator, getLionWebVersion, getPrimitiveValuesSerialization, getUnavailableChildrenPolicy, getUnavailableParentPolicy, getUnavailableReferenceTargetPolicy, makeBuiltinsReferenceDangling, registerLanguage, serializeNodesToSerializationBlock, serializeNodesToSerializationBlock, serializeTreeToSerializationBlock, setClassifierResolver, setInstanceResolver, setInstantiator, setPrimitiveValuesSerialization, setUnavailableChildrenPolicy, setUnavailableParentPolicy, setUnavailableReferenceTargetPolicy, validateSerializationBlock
-
Method Details
-
saveLanguageToFile
- Throws:
IOException
-
loadLanguage
Load a single Language from a file. If the file contains more than one language an exception is thrown.- Throws:
IOException
-
loadLanguage
Load a single Language from an InputStream. If the InputStream contains more than one language an exception is thrown. -
loadLanguage
Load a single Language from a string. If the file contains more than one language an exception is thrown. -
serializeTreeToJsonElement
public com.google.gson.JsonElement serializeTreeToJsonElement(ClassifierInstance<?> classifierInstance) -
serializeTreesToJsonElement
-
serializeNodesToJsonElement
public com.google.gson.JsonElement serializeNodesToJsonElement(List<ClassifierInstance<?>> classifierInstances) -
serializeNodesToJsonElement
public com.google.gson.JsonElement serializeNodesToJsonElement(ClassifierInstance<?>... classifierInstances) -
serializeTreeToJsonString
-
serializeTreesToJsonString
-
serializeNodesToJsonString
-
serializeNodesToJsonString
-
deserializeToNodes
- Throws:
FileNotFoundException
-
deserializeToNodes
-
deserializeToClassifierInstances
public List<ClassifierInstance<?>> deserializeToClassifierInstances(com.google.gson.JsonElement jsonElement) -
deserializeToNodes
- Throws:
IOException
-
deserializeToNodes
-
deserializeToNodes
-