Long

Resolver – Abstract

  • Purpose: Returns a statically defined integer that is output as a Long value.

images/download/attachments/128387163/image2023-1-17_11-3-21-version-1-modificationdate-1676010907806-api-v2.png

IMPORTANT◄ All resolvers for Static values ignore the input value. Within a resolver chain (see Verketteter Wertauflöser) this prevents the processing of all preceding resolvers (if any).

The Long walue resolver returns a statically defined integer that is output as a Long value.

By default, it appears as a suggestion for value configurations that are expected to be a Long value.

►IMPORTANT◄ The value range of Long (64-bit) cannot be used completely.


Even though the Long resolver refers to the 64-bit data type Long in the return value, the resolver cannot address the complete Long value range for technical reasons.

Only values in the range ±9.007.199.254.740.991 (53-bit) can be entered as static values.

This range of values certainly covers most practical concerns sufficiently. However, not every Long value generated with the Random long value resolver can also be mapped as a static value with the Long resolver.

To statically define a Long value outside the value range specified above in a value configuration, a Text resolver can be concatenated with an Input object (type safe) resolver (with the 'Long' type).

NOTE◄ If an entered value is outside the valid value range, then there is no immediate warning or error message in the user interface. The value is simply not 'accepted' by the configuration. Therefore, when saving or even in immediately executed tests, it is not the integer displayed at the user interface that is taken into account, but the last value that was successfully validated after a modification. In cases of direct input via a keyboard, this is the value, before the keystroke, which caused leaving the specified value range.

Configuration

The value in the input field can be changed either by direct input, pasting from the clipboard or via the stepper functionality.

  • After each modification to the string present in the input field, an immediate attempt is made to validate it as an integer.

    • If the validation fails, the value 0 is assigned immediately.

    • For negative values, the minus sign is only accepted in the first line item.

      • When trying to enter the minus sign in front of the default value 0, it disappears immediately because the validated value is 0 (and not -0).

    • Except for the following special cases, only digits are effectively accepted in the context of a direct input:

      • The minus sign can be inserted subsequently at the first line item if a value other than 0 is present.

        • Example: 123-123

      • Within an existing sequence of digits, one of the characters interpreted as decimal separators (comma or period) can be entered subsequently. This immediately eliminates the subsequent digits thereby declared as decimals.

        • Example: 12345123,45123

      • Within an existing sequence of digits, the character 'e' or 'E' can be inserted as an indicator for the exponential notation. Then the digits following so far are interpreted as immediately as a power of ten.

        • Example: 12612e612000000

  • The stepper functionality allows incremental changes of an existing value in steps of ±1.

    • The existing value can be increased/decreased step by step by clicking on the up/down buttons on the right side of the text field.

    • As long as the input field has the focus, the cursor keys (up/down) or, if necessary, the mouse wheel achieve the same effect.

Example

An association criterion (see Association criteria) should be considered passed exactly when there is an entity in the data context as an input value that was created with the default 'admin' user account.

The configuration shown on the right for an association criteria, combines two rules in an AND Junction:

  • The Check type ensures that the input value is an entity.

  • The linked Entity property rule below accesses the 'Creator' (creatorId) field of the entity on the left side via Object property resolver, which specifies the internal ID of the user account (see Users) with which the entity was created – i.e. saved for the first time.

  • As soon as the Equals compare type (below) is selected, the Long resolver automatically appears for the value configuration of the compare value (right), since this data type is expected for the creatorId field (left).

images/download/attachments/128387163/image2023-1-17_11-4-44-version-1-modificationdate-1676010907800-api-v2.png

NOTE◄ An entity (here: the Users) should only be checked in exceptional cases using the internal ID specified as a static value, since in an implementation with multiple systems (e.g. test and production system) it cannot be automatically guaranteed that the same Long value points to the corresponding instance.