Class name of object

See also: Class name (Calculation expression)

Value resolver – Abstract

Purpose: This returns the class name of the object present as the input value in the form of a string.

images/download/attachments/189433188/image-2025-3-18_17-20-6-version-1-modificationdate-1742314805643-api-v2.png

The Class name of object resolver returns the class name of the object available as an input value as a string.

The return value for the ‘class name’ can depend on the execution context (client/server):

  • In the server context, the ‘class name’ is the fully qualified class name of the specific Java class of the input value.

  • Although there is no direct reference to the server-side Java class in the client context (via JavaScript), the fully qualified class name of the Java class is also output there as the ‘class name’, provided the object is not the value of a native JavaScript type (e.g. Boolean, Number or String).

If ‘No value’ ($null) is the input value, ‘No value’ ($null) is also returned as the ‘class name’ instead of a class name and not an empty character string ('') or the text value ‘null’.

NOTE◄ In many cases, the entityClass variable can also be used instead of the Class name of object resolver to determine the ‘class name’ of an object. However, its string image often does not provide without exceptions (e.g. ‘check type hint on empty value’, see Check type) the same string as the value resolver. However, the object to be evaluated must be available as a reference object (possibly in the context of an Execute with event action), whereas the Class name of object resolver takes the input value into account and can therefore be used much more flexibly – e.g. also within a value resolver chain.

Configuration

The Class name of object resolver does not use any parameters.

Example

A typical use for the Class name of object resolver is to access the Localization or Company specific localization.

For many classes, the system provides localisation entries that use the fully qualified class name as the Bundle name.

Localisations for the ‘class name’ can then be found by convention under the Resource name $name. In addition, a Resource name $pluralName may be provided for the plural.

The Class name of object resolver can therefore be used in the context of a Value from localization resolver in order to use the (possibly) localised class name.

In the following example, when an entity of any type is created or deleted, an e-mail is to be sent in which the entity type is specified in the ‘Subject’, taking into account a localisation for the class name.

Runtime example:

images/download/attachments/189433188/image-2025-3-18_17-24-18-version-1-modificationdate-1742315058222-api-v2.png

Configuration:

The screenshot on the right shows an overview of the configuration for event handling that reacts to the Triggering events 'Delete' and 'Create' (see Common action event).


An AND junction of two instances of the Check type is configured here as the Validating rule:

  • The first Check type checks for the 'Entity' (Entity) type, which is the parent of all entity types. This check is actually superfluous, as the Triggering events are exclusively relevant for entity types. However, for formal reasons, value is placed here on the 'Entity' type hint for the Action on passed rule.

  • The second negated Check type excludes the 'E-mail' (Mail) entity type from the e-mail notification, which is very important, because the E-Mail event action not only triggers the sending of messages, but can also trigger the 'creation' of E-mails as an entity, which without this exclusion criterion could lead to an endless loop of sending and possibly creating further E-mails.


A E-Mail event action is provided as the only Action on passed rule. As no further event actions are available, all preparation steps for content and addressing of the e-mail within the configuration for this event action must be carried out either statically or via value configurations for designated parameters.

images/download/attachments/189433188/image-2025-3-18_17-21-21-version-1-modificationdate-1742314880406-api-v2.png

For the context of this example, only the value configuration for the Subject, for which a text value is expected, is of interest from the numerous parameters for the E-Mail event action.

The screenshot on the right shows a value resolver chain through which the localisation for the entity type is integrated via the Class name of object resolver in the context of a Concat strings value resolver:

  • In the Value from localization resolver, the Bundle parameter is bound directly to the return value of the Class name of object resolver. This returns the fully qualified class name for each entity, which is systematically also the Bundle name.

  • The string $name is used as static Text for the Resource parameter, which is used by convention to localise the class name of entity types.

  • The Default value parameter is only relevant if no applicable localisation has (yet) been assigned for a Bundle/Resource combination. In this case, only the last section of the fully qualified class name should appear in the Subject line, i.e. the class name in the narrower sense (without information on the package or namespace):

    • For this purpose, the return value of the Class name of object resolver is first split using the Delimiter (seperator) '.' into a list of substrings by the concatenated Split text resolver.

    • The concatenated List item resolver then accesses the last entry (Mode ‘Get last’) of this ‘list’.

  • After a static seperator string (‘ / ’ as Text), only the return value of the Triggering event resolver is then added to the Subject. Localisation is expressly omitted here, as in the server context the internal names of the relevant events are predefined as DELETE and CREATE in the corresponding static enumeration and these terms characterise the process in a generally understandable way.

images/download/attachments/189433188/image-2025-3-18_17-22-24-version-1-modificationdate-1742314943993-api-v2.png