Abstract Model

Shape

An Abstract Model is a hypergraph like structure. Panckouckes Abstractors generate Abstract Models and passes them to Renderers for presentation purposes.

An Abstract Model is made of nodes that are connected with directional arcs. An Arc has one startnode and one to many endnodes.

The technical components of an Abstract Model are

  • AMNode and AMArc which represents nodes and arcs.

  • AMMember, which is the baseclass for AMNode and AMArc.

  • AModel, the class that represents the model itself.

AMMember

AMMember is the base class of nodes and arcs. An AMMember has the following properties:

id

An identifier that is unique in the scope of the current model.

label

A String for display purposes.

representedObjects

A Set of Objects, that are represented by this member. This property can be used to keep the relation between the model and its sourec objects.

gestalt

The gestalt allows model builders to add information, how an AMMember should be interpreted. As an example, you may think of an AMMember representing a topic. Dependant on the context the topic may be interpreted as the type of any other TopicMapObject, or as a player in an association or.... How the topic is meant, is indicated by the gestalt property.

Technically a gestalt is of type org.tm4j.panckoucke.model.AMGestalt. Available gestalten are maintained by an instance of org.tm4j.panckoucke.api.model.AMGestaltRegistry, which is available through the PanckouckeContext.

locator

Contains an optional locator, that is related in some way to this member.

data

Contains optional character data, that is related to this Member.

AMNode

The Abstract Model Node is an extension of AMMember. It adds two properties, that allow the traversal of outgoing and incoming arcs of that node.

From the nodes perspective an arc is incoming, if the node is an endnode of that arc. If the node is the startnode of an arc, the arc is refered to as outgoing.

AMArc

The Abstract Model Arc is an extension of AMMember. It adds two properties, that gives acces to the startnode and the set of endnodes of that arc.

AModel

The Abstract Model is the main object that holds arcs and nodes. Abstractors use AModels to return the generated model to the caller.

An AModel contains the functionality to create and to retrieve AMMembers.

Every model has one node in the middle, called the Center Node.