Identifiers
Any text not contained in quotes and adhering to the following rules is an identifier that refers to data in the context in which the expression is evaluated.
An identifier:
Includes one or more letters (a-z or A-Z), digits (0-9) or underscores
Starts with at least one letter
For the programmers, the following snippets are from the official grammar:
Code Block |
---|
ID : LETTER (LETTER|DIGIT|'_')*;
fragment DIGIT : '0'..'9';
fragment LETTER : ('a'..'z'|'A'..'Z');
|
Chaining
Identifiers can be chained together using dots (".") to reference functions or identifiers in nested namespaces.
For example:
...
Trim(LastName)
...
Trim(Company.Address.City)
...
Der Kontext bestimmt auf welche Daten in der Expression zugegriffen werden kann. Je nachdem wo die Expression verwendet wird, gibt es einen unterschiedlichen Kontext.
TargetClass
In den meisten Fällen definiert eine spezifische Meta-Klasse den Kontext.
Ansicht: Das
layout
Element hat eintargetClass
AttributeRole Permissions: Beim Vergeben der Restrictions wir ebenfalls Bezug auf die
TargetClass
genommen. Siehe Benutzer und Rollen.
Alle Properties und Relationen der Meta-Klasse sind damit in der Expression verfügbar. Die Daten kommen vom jeweiligen Objekt.
Beispiel KategorieId
der Klasse Adresse
:
Code Block | ||
---|---|---|
| ||
<layout type="Detail" targetClass="Adresse" ...>
<propertyLink link="Firma">
<visible>KategorieId != 3</visible>
</propertyLink>
...
</layout> |
Standard Funktionen
Auf andere Elemente wie z.B. dem User kann mit den Expression Standard Funktionen zugegriffen werden.
Zum Beispiel der User und seine Berechtigungen können mit den Funktionen aus https://encodo.atlassian.net/wiki/spaces/EB/pages/155385876/Expression+Standard+Funktionen#User eingebunden werden: User.IsInRole('admin')
Weitere
Je Nach Anwendung der Expression sind auch auch andere Kontext Informationen verfügbar. Im spezifischen Fall werden diese dann separat dokumentiert.
Technischer Hintergrund
Um zu verstehen welche Entitäten in der jeweiligen Expression angesprochen werden können, sehen Sie die Technischen Hintergründe in:
...