UMLClassDiagram

UML Class Diagram.

Not designed for the general case. The design is what the plantuml plugin needs when analyzing more than one file. This is the container that is then passed between the analyze stages.

All classes must exist in "classes". It is common that during data gathering a class is found to be related to another class by a USR. The relation is added before the class represented by the USR is added.

A --> B Directed relation. A can have many connections to B.

Store of RA.B. When analyzing the structural data it is this kind of relations that are found. From a class to many X, where X is other classes. The key used must be unique, thus the choice of using USR.

Example of relations. A --> B (member) A --> B (member) A --> B (inherit) B --> A (member)

relateA.put(B, Compose) relateA.put(B, Compose) relateA.put(B, Extend) relateB.put(A, Compose)

The relations are of the kind Fan-out, one-to-many. They can be sorted in descending fan-out-count order.

Members

Functions

asArray
KeyClass[] asArray()
nameSortedRange
auto nameSortedRange()
put
void put(Key key, DisplayName display_name)

The class is only added if it doesn't already exist in the store.

put
void put(Key key, Content content)

Store parameter content with the key.

relate
void relate(Key from, Key to, DisplayName display_name, Relate.Kind kind)

Add a relation between two classes and increase the count on the class related TO.

relateTo
const(Relate) relateTo(Key k)

Use to retrieve the relation struct for the key.

relateToFlatArray
auto relateToFlatArray()
set
void set(Key key, ClassClassificationState classification)

Set the classification of a class.

Meta