DiagramLayoutPersistenceService is responsible for persisting layout of the diagram, such a location and
size of nodes, connection bend points, etc.
Unlike other services, DiagramLayoutPersistenceService is not defined by methods that must be
implemented, but rather by its expected behavior.
- During service initialization, the implementation is expected to load layout information and transfer it to
diagram parts using API such as DiagramNodePart.setNodeBounds().
- After initialization, the implementation is expected to listen for changes to diagram parts and persist
layout information. Persistence can happen immediately or be deferred until the save event is received.
- If implementation defers layout persistence until save, it is expected to implement dirty() method and to
issue DirtyStateEvent when this state changes.
The architecture sample provides a comprehensive example of a custom
implementation that persists layout in the same file as data.