The content on demand feature allows an SDM model to
delay the loading of its objects content in order to save resources.
Unlike a tiling system, content on demand requires that all the objects
be present in the model. The objects can be hollow. Assuming that
hollow model objects have low memory and time footprints, content
on demand allows you to fill them on demand and empty them when they
are no more needed. Content on demand sends a notification when the
content of a set of objects needs to be loaded, and, optionally, when
it can be unloaded.
Content on demand addresses two main use cases:
Models that are time-consuming in terms
of loading, and applications that are slow at start up. The lazy loading
of content speeds the start up of the Diagrammer application because
the model and the graphic representation of the model objects are
light and simple. Objects are filled on demand, and the customization
and rendering time is used only for the requested objects.
Fat models that need to load content
for a subset of objects only. Typically, only the objects that are
visible in the main view should be fully loaded. When panning or zooming,
the content of newly visible objects is loaded and the content of
non visible objects can be unloaded, which keeps the model memory
footprint to a minimum.
The classes of the content on demand feature are located
in the package
ilog.views.sdm.modeltools
.
The entry point is the class
IlvContentController.