...
Logic type | Formula Nature | Prefix | Suffix | Example |
---|---|---|---|---|
Calculation Flow |
| CF_ | CF_RebateRecords | |
Calculated Field Set |
| CFS_ | CFS_ProductEnrichment | |
Dataload |
| DL_ | DL_ProductCost | |
Dashboard |
| DB_ | DB_Waterfall | |
Groovy Library |
| Lib | SharedLib MonitoringLib |
Element Names
Element names should be written in CamelCase, with the first letter capitalized, for example:
...
NewMargin
...
InvoicePrice
CustomerPrice
ResultPrice
MarginNew
Exception: this rule is not valid for logics serving as a custom HTTP API where the letter case of JSON fields needs to be matching the API interface specification.
Info |
---|
During deployment, the Groovy logic element scripts get compiled into classes. During logic execution, the logic engine instantiates singleton objects from those classes. These objects then get bound to variables with the same name as the elements. Thus, to call a method
Pricefx Studio will make IntelliJ interpret this as a static call – even though it’s not – and that will make the auto-completion work. |
...
Info |
---|
When running the logic locally, the element classes will belong to the default pages. The JVM requires classes within the same packages to be unique, so this will make the local compilation fail. |
...
Library Elements
Groovy library element names should be suffixed with Utils, for example:
RoundingUtils
CacheUtils
DatamartUtils
DateUtils
MathUtils
Common Patterns
Across logics and entire projects, some patterns of element behavior tend to emerge. For these elements, here are some suggested naming conventions:
Suffix | For | Example Element Name | Example Label | Example Value | ||
---|---|---|---|---|---|---|
Diff | Elements that represent a difference, i.e. a result of a subtraction | VolumeDiff | Volume ∆ | 234 litres | ||
Abs | Elements that represent an amount of money, in absolute terms. | MarginAbs | Margin EUR Margin $ Margin € | 34 $23 €34 | ||
Pct | Elements that represent a quotient. These elements are typically formatted as percentages. | MarginPct | Margin % | 0.45
| ||
s | Elements that represent a collection. | pxRecordsPX_Records |
Element Labels
Labels should be identical to the element names, but with the words separated by spaces. Some words can be replaced by symbols, for example:
...