Matrix pattern

The MatrixPattern arranges nodes and arcs to represent tabular data.

The pattern has the following characteristics:

  • The centernode of the pattern is a node with AMGestalt MatrixMolder.GESTALT_MATRIX and no represented object.
  • The matrix node has two outgoing arcs, one with AMGestalt MatrixMolder.GESTALT_COLUMNS, the other with AMGestalt MatrixMolder.GESTALT_ROWS.
  • The COLUMNS arc has one endnode for each column of the given matrix.
  • Neither the gestalt, nor the represented object of theese endnodes underly any constraints.
  • The ROWS arc has one endnode for each row of the given matrix. Neither the gestalt, nor the represented object of theese endnodes underly any constraints.
  • Each row node has one outgoing arc. That arc contains exactly one endnode for each cell of the row.

    Neither the gestalt, nor the represented object of theese cell nodes underly any constraints.

  • The matrix pattern guarantees, that every cell arc of every row has exactly the same number of endnodes as the COLUMN arc has endnodes.

See the Shelfmark classification scheme for an example matrix pattern.

Supporting classes

org.tm4j.panckoucke.impl.abstraction.util.MatrixClass that makes the semantics of a matrix available. Abstractors that want to use the matrix pattern, should create an instance of Matrix. After filled the matrix with appropriate data, they use the MatrixMolder in order to get an AbstractModel of their matrix.

org.tm4j.panckoucke.impl.abstraction.util.MatrixMolderContains code to transform a Matrix to an AbstractModel.

org.tm4j.panckoucke.impl.abstraction.util.MatrixNodeUsed by Renderers to work with nodes, that implement the matrix pattern. An instance of MatrixNode is constructed with an AMNode that represents a Matrix. The MatrixNodes exposes in its API the semantics of the Matrix