Developer's Guide > Developer's Guide > Codebeamer Development > Codebeamer API - Extension and Plugins Guide > Computed Fields > About the Technical Details of the Expression Language in Computed Fields
About the Technical Details of the Expression Language in Computed Fields
The Codebeamer-specific Expression Language (EL) is built on JBoss EL, which enhances JSP 2.0 EL.
Features of EL 2.1 or any major versions are not supported.
For more information about the Unified Expression Language, see Java EE 5 Tutorial.
Implementation of the Codebeamer Expression Language
The Codebeamer-specific Expression Language is implemented in the com.intland.codebeamer.persistence.util.TrackerItemFilterEL Java class. This class provides the implementations for the following scenarios:
The resolution of Codebeamer-specific context variables (explained on the page Context Variables) through the inner FieldValueResolver Java class, which extends the DefaultELResolver class
Codebeamer-specific computed field functions
The com.intland.codebeamer.persistence.util.TrackerItemFilterEL Java class also supports the following actions:
Creating an initial ELContext for a specific TrackerLayoutDto tracker and TrackerItemDto item
Parsing, compiling, and validating expressions in a specific context
Executing compiled expressions in a specific context
Usage of the Codebeamer Expression Language
The Codebeamer internal APIs use the expression language for the following functionalities:
Tracker field configuration
To compute the field value as the result of an expression
To hide the field when the expression yields a true value
To declare the field as mandatory when the expression yields a true value
Configurations related to the fields to update
To compute the new value of the field as the result of an expression. This includes the following features:
Mass edit
Workflow actions, such as Update item properties, Update referring items, Create new Upstream / Downstream referring items
State transition configuration to define the expression for a condition
Specific tracker view types
To convert TrackerItemFilterExpression into an appropriate TrackerItemFilterPredicate or TrackerItemUpdatePredicate
Example of a Custom Function
To see an example that extends the Expression Language with a custom function, refer to Extending the Expression Language with Custom Functions.
Was this helpful?