Custom object persistence

GroIMP require Nodes, Node's attributes, and SCOs to be manageable by the persistence manager, to process the save/ load/ query operations.

GroIMP define its own persistence management. To be managed by the GroIMP persistence management, an object need to implements either PersistenceCapable (GroIMP interface), or Serializable (java interface).

Usually the persistence is handled in memory (except when the project is saved), but GroIMP provides a way to integrate it with file persistence (the object is written/loaded from the file). This rely on EmbeddedSharedObject and EmbeddedFileObject.

Embedded objects

In GroIMP embedded objects are objects whose persistence is pushed in a file.

EmbeddedSharedObject (ESO) is a class, thus the object needs to extends it. The ESO create on the fly and manage an EmbeddedFileObject (EFO).

The object that extends ESO need to implements the following methods:

Check this tutorial for an example.