JViews Diagrammer offers you the opportunity to
stay away from the low-level graphics API, and to worry only about
your business data and the way you want to display it. The section
on
Creating diagramming applications explains how this works in more detail; at
this point it is sufficient to explore the basic concept of a
data model.
JViews Diagrammer is based on a model-view architecture
that cleanly separates the data, the display, and the interaction
facets of the component, see figure
The model-view architecture of JViews Diagrammer.
It follows the Swing architecture where the developer takes care of
populating the data model and the component takes care of displaying
the data and enabling interactions like selection and editing.
In JViews Diagrammer, the data model is an interface
that manages nodes and links. Nodes have a set of generic properties
like x and y coordinates, and user-defined properties can be added
to store application-dependent information. Similarly, links have
generic properties like to
and from
for
the source and destination nodes, and can have further, user-defined
properties. Based on this data model, JViews Diagrammer knows how to display the diagram,
and how to manage end-user interactions.
The data model needs to be populated with application
data. To do this, you have the choice between using a prebuilt implementation
such as the in-memory data model, or connecting the diagram directly
to your data by implementing the data model interface. The latter
solution avoids data duplication and enables finer synchronization
between the diagram and the data.
JViews Diagrammer provides
data sources to populate your diagram from XML files,
JDBC connections, or flat files in formats like CSV (comma-separated
values).