Dependency Matrix tool allows templates to access data from a Dependency Matrix, use diagrams to get data, row elements, column names, or relations between row and column elements from the matrix. You can use the following Dependency Matrix tool API in the template.
Use the following methods to use diagrams to get data. - +getMatrix( diagram : Diagram) : Matrix
- +getMatrix( diagramName : String) : Matrix
Class Matrix Use the following methods to get matrix row elements or nodes, column elements or nodes, and dependencies between these nodes/elements. - +getRowNodes() : List<ElementNode>
- +getColumnNodes() : List<ElementNode>
- +getCellDependencies( rowNode: ElementNode, columnNode: ElementNode)
- +getRowElements() : List<Element>
- +getColumnElements() : List<Element>
- +getRelation( row: Element, column : Element) : List<Relation>
Class Relation Describes dependency in a Dependency Matrix cell. Use the following methods for class relations. - +getName() : String
- +getElement() : Element
- +getSemanticType() : String
- +getDirection() : String
Using Diagrams to Get Data from Dependency MatrixA Dependency Matrix is a special diagram. You can retrieve it using the $Diagram variable. Thus, every method must accept a diagram instance or a diagram’s name. Use the following methods to return a Dependency Matrix instance. You can retrieve rows and columns from the Dependency Matrix instances. Getting Dependency Matrix Instances from Diagram ElementsgetMatrix(diagram : Diagram) : Matrix To get a Dependency Matrix instance from a specified diagram element, use the following code. #set($matrix = $depmatrix.getMatrix($diagram)) |
Where the parameter is: - diagram – a diagram element
Return an instance of Dependency Matrix. For example: #foreach($diagram in $project.getDiagrams("Dependency Matrix"))
#set($matrix = $depmatrix.getMatrix($diagram))
#end |
Getting Dependency Matrix Instances from Diagram NamesgetMatrix(diagramName : String) : Matrix To get a Dependency Matrix instance from a specified diagram’s name. #set($matrix = $depmatrix.getMatrix($diagram)) |
Where the parameter is: - diagram – a diagram’s name
Return a Dependency Matrix instance. Example code: #set($diagram = "diagram name")
#set($matrix = $depmatrix.getMatrix($diagram)) |
Getting Rows and ColumnsThe Matrix consists of rows and columns. Each row or column is an instance of ElementNode object. Each ElementNode represents a single model Element. There might be multiple ElementNodes for the same model Element in a Dependency Matrix diagram, since the same model Element can be represented multiple times in a diagram. Getting All RowsgetRowNodes() : List<ElementNode> Use this method to retrieve a list of rows, ordered in the same way as actually displayed in the diagram. Nodes representing grouping packages, that do not belong to the actual matrix data, are excluded. The returned value is a list of ElementNodes. Method getElement() : Element can then be used to retrieve the model element represented by a row. To print all row elements' names, for example, type the following code: #foreach($rowNode in $matrix.rowNodes)
$rowNode.element.name
#end |
Getting all ColumnsgetColumnNodes() : List<ElementNode> Use this method to retrieve a list of columns, ordered in the same way as actually displayed in the diagram. Nodes representing grouping packages, that do not belong to the actual matrix data, are excluded. The returned value is a list of ElementNodes. Method getElement() : Element can then be used to retrieve the model element represented by a column. To print all column elements' names, for example, type the following code: #foreach($col in $matrix.columns)
$colNode.element.name
#end |
Getting Dependencies between Rows and ColumnsgetCellDependencies(rowNode: ElementNode, columnNode: ElementNode) Use this method to retrieve the relations in a specific matrix cell, which is identified by provided row and column nodes. $matrix.getCellDependencies($rowNode, $columnNode) |
Where the parameter is: - rowNode – ElementNode of a row
- columnNode – ElementNode of a column
The returned value is a list of Relations. The Relation class contains the following methods: - getSemanticType : String
Return the semantic type - getElement : Element
Return a relationship element or null if the relationship is not an element, for example, tag name. - getName : String
Return a relationship name. If the relationship is a tag name, it will return the tag name. If the relationship is NamedElement, it will return the element name; otherwise, return a human name. - getDirection : String
Return the direction.
To print the row, column, and its relationship name, for example, type the following code: #foreach($row in $matrix.rowNodes)
#foreach($col in $matrix.columnNodes)
#foreach($rel in $matrix.getCellDependencies($row, $col))
$row.element.name has $rel.name with $col.element.name
#end
#end
#end |
To print rows, columns, and relations in a spreadsheet file format, for example, type the following code: #import('depmatrix','com.nomagic.reportwizard.tools.DependencyMatrixTool') #forpage ($diagram in $report.filterDiagram($Diagram,["Dependency Matrix"])) #set($matrix=$depmatrix.getMatrix($diagram)) $bookmark.create($diagram.name) |
|
|
| #forcol ($col in $matrix.columnNodes)$col.element.name#endcol |
|
#forrow($row in $matrix.rowNodes)$row.element.name | #forcol ($col in $matrix.columns)#if(!$report.isEmpty($matrix.getCellDependencies($row,$col))) ->#end#endcol |
#endrow | #endpage |
|
|
|