Label Expressions - archimatetool/archi GitHub Wiki

Core Expressions

Expression Display
${name} Name
${documentation} Documentation
${content} Text content of a Note
${type} Type of object
${specialization} Specialization of object
${viewpoint} Viewpoint name (applies to folders and diagram objects in ArchiMate Views)
${strength} Applies only to ArchiMate Influence connections and displays its Strength, if set
${accessType} Applies only to ArchiMate Access connections and displays its type, if set
${property:key} Display the value of the Property whose key is "key"
${properties} Display all Property key/values in a list like "key: value"
${propertiesvalues} Display all Properties' values in a list
${properties:separator:key} Display the values of all instances of the given Property having "key" as key, concatenated using "separator" as separator
${wordwrap:count:expression} Break (wrap) the given text in expression every count characters. For example - ${wordwrap:12:${documentation}}
${if:condition:display_value} Conditional display of a value. If the condition evaluates to not empty then display display_value else display nothing
${if:condition:display_value1:display_value2} Conditional display of first value else second value. If the condition evaluates to not empty then display display_value1 else display display_value1
${nvl:condition:display_value} Conditional display of a value. If the condition evaluates to not empty then display its value, else display display_value

Reference Prefixes

The following prefixes can be added to the expression (after the $ symbol) in order to reference other objects in the model.

Prefix Reference
model References the current Model
view References the current View
mfolder References the folder for the current ArchiMate concept in a View
vfolder References the folder for the parent View of an object
parent References the parent object. For an object in a View this may be the parent object or the parent View. For an object in the Models Tree this is the parent folder.
source References the source object of a connection (only applies to a connection)
target References the target object of a connection (only applies to a connection)
<relationship>:source References the source object of the first connected relationship with the given name (triggering, access, specialization, composition, assignment, aggregation, realization, serving, influence, flow, association)
<relationship>:target References the target object of the first connected relationship with the given name (triggering, access, specialization, composition, assignment, aggregation, realization, serving, influence, flow, association)
connection:source References the source object of the first non-ArchiMate connection connected to the given object
connection:target References the target object of the first non-ArchiMate connection connected to the given object

Examples

Expression Display
$model{name} Display the name of the model
$model{documentation} Display the documentation of the model
$model{property:key} Display the value of the Property in the model whose key is "key"
$view{name} Display the name of the parent View
$view{documentation} Display the documentation of the parent View
$view{property:key} Display the value of the Property in the parent View whose key is "key"
$mfolder{name} Display the name of the parent folder of an ArchiMate concept
$mfolder{documentation} Display the documentation of the parent folder of an ArchiMate concept
$mfolder{property:key} Display the value of the Property in the parent folder of an ArchiMate concept whose key is "key"
$vfolder{name} Display the name of the parent View of an object
$vfolder{documentation} Display the documentation of the parent View of an object
$vfolder{property:key} Display the value of the Property in the parent folder of the parent View of an object whose key is "key"
$parent{name} Display the name of the parent object
$parent{documentation} Display the documentation of the parent object
$parent{property:key} Display the value of the Property of the parent object whose key is "key"
$source{name} Display the name of the source object of a connection
$target{documentation} Display the name of the target object of a connection
$composition:source{name} Display the name of the source object connected by the first Composition relationship
$triggering:target{documentation} Display the documentation of the target object connected by the first Triggering relationship
$connection:source{name} Display the name of the source object connected by the first non-ArchiMate connection
$connection:target{documentation} Display the documentation in the target object connected by the first non-ArchiMate connection
${if:${specialization}:<<${specialization}>>} Display the name of the object's Specialization surrounded by angle brackets if it has one, else display nothing
${if:${specialization}:<<${specialization}>>:(${type})} Display the name of the object's Specialization surrounded by angle brackets if it has one, else display the object's type surrounded by parentheses
(${nvl:${specialization}:${type}}) Display the name of the object's Specialization if it has one, else display the object's type surrounded by parentheses

Folders

Some core Label expression can be used with folders. Folder label expressions affect the display of child objects, not the folder itself. Folders inherit the label expression of their parent folder.

An example:

${name} ${viewpoint} - When applied to a folder containing Views, each View will display its name and viewpoint (if set)