Converter plug-ins implement the format, parse, validate, and related operations. The following converter plug-ins are provided out-of-the-box. While most are pre-configured against certain domains, others are left to be configured as described in Domain Plug-in Configuration (all of the plug-ins are in the curam.util.client.domain.convert Java package):
Domain | Converter Plug-in Class |
---|---|
SVR_BLOB |
SvrBlobConverter |
SVR_BOOLEAN |
SvrBooleanConverter |
SVR_CHAR |
SvrCharConverter |
SVR_DATE |
SvrDateConverter |
SVR_DATETIME |
DateTimeConverter |
CURAM_TIME |
CuramTimeConverter |
SVR_DOUBLE |
SvrDoubleConverter |
SVR_FLOAT |
SvrFloatConverter |
SVR_INT8 |
SvrInt8Converter |
SVR_INT16 |
SvrInt16Converter |
SVR_INT32 |
SvrInt32Converter |
SVR_INT64 |
SvrInt64Converter |
INTERNAL_ID |
InternalIDConverter |
SVR_MONEY |
SvrMoneyConverter |
SVR_STRING |
SvrStringConverter |
SVR_UNBOUNDED_STRING |
SvrStringConverter |
LOCALIZED_MESSAGE |
LocalizedMessageConverter |
CODETABLE_CODE |
CodeTableCodeConverter |
N/A |
SvrInt8BareConverter |
N/A |
SvrInt16BareConverter |
N/A |
SvrInt32BareConverter |
N/A |
SvrInt64BareConverter |
The format operations of these plug-ins determine the string representations of data values that appear on application pages. The format operations behave as follows:
Plug-in Class | Formatting Behavior |
---|---|
SvrBlobConverter |
Formatted as base-64 encoded strings. The base-64 encoding scheme is defined in RFC 2045. |
SvrBooleanConverter |
Formatted as the string values true or false. These values are not locale-aware. Cúram application pages rarely display formatted Boolean values directly, instead, check-boxes are used or values are translated to locale-specific strings. |
SvrCharConverter |
Formatted as Unicode characters, not as numbers. |
SvrDateConverter |
Formatted using the application date format. If the format includes month or day names, these are localized using the active user's locale. If the date is the system "zero" date, an empty string is returned. |
DateTimeConverter |
Formatted using the application date and time formats and the user's preferred time zone. If the format includes month or day names, these are localized using the active user's locale. If the date-time is the system "zero" date-time, an empty string is returned. |
CuramTimeConverter |
Formatted using the application time format. If the date-time is the system "zero" date-time, an empty string is returned. |
SvrDoubleConverter |
Formatted as numbers with grouping separator (e.g., thousands separator) and decimal point characters appropriate for the active user's locale. |
SvrFloatConverter |
Formatted in the same manner as the SvrDoubleConverter. |
SvrInt8Converter |
Formatted as numbers with grouping separator (e.g., thousands separator) characters appropriate for the active user's locale, but without any decimal point. |
SvrInt16Converter |
Formatted in the same manner as the SvrInt8Converter. |
SvrInt32Converter |
Formatted in the same manner as the SvrInt8Converter. |
SvrInt64Converter |
Formatted in the same manner as the SvrInt8Converter. |
InternalIDConverter |
Formatted as numbers in a non-locale-specific manner without grouping separator characters. |
SvrInt8BareConverter |
Formatted in the same manner as InternalIDConverter. |
SvrInt16BareConverter |
Formatted in the same manner as InternalIDConverter. |
SvrInt32BareConverter |
Formatted in the same manner as InternalIDConverter. |
SvrInt64BareConverter |
Formatted in the same manner as InternalIDConverter. |
SvrMoneyConverter |
Formatted in the same manner as the SvrDoubleConverter, but with exactly two significant digits after the decimal point. |
SvrStringConverter |
Formatted literally, i.e., strings are not changed by the format operation. |
LocalizedMessageConverter |
Formatted by decoding the message information, localizing the string indicated by the message catalog details, and replacing any encoded string arguments. The active user's locale is used throughout. |
CodeTableCodeConverter |
Formatted as the code description corresponding to the code value using the active user's locale and the domain's associated code-table. |
Pre-parse operations are used to perform string-related operations, indicated by domain definition options set in the UML model, before the strings are parsed to their Java object representations. The operations performed are the same for all root domains and are as follows: trimming of leading whitespace, trimming of trailing whitespace, compression of sequences of whitespace characters to a single space character, and conversion to upper-case. The pre-parse operations should be customized via the domain definition options in the UML model. Customization of these options via domain plug-ins is not necessary and not supported.
Parse operations are used to interpret string values submitted from a form on an application page or via parameters to a URL and convert then to their Java object representations. The string values received from the web browser are interpreted as being in the UTF-8 encoding. This encoding is used when creating the Unicode Java strings that are passed to the parse operations. The parse operations behave as follows:
Plug-in Class | Parsing Behavior |
---|---|
SvrBlobConverter |
Parsed as a base-64 encoded string. |
SvrBooleanConverter |
Recognizes any of true, yes, or on as Boolean true values, and any of false, no, or off as Boolean false values. The parsing is not case-sensitive or locale-aware. Other values are reported as errors. |
SvrCharConverter |
Parsed as a single Unicode character. The presence of extra characters is reported as an error. |
SvrDateConverter |
Parsed using the application date format and the active user's locale. |
DateTimeConverter |
Parsed using the application date and time formats and the active user's locale. The user's preferred time zone is assumed. |
CuramTimeConverter |
Parsed using the application time format. The server's time zone is assumed. |
SvrDoubleConverter |
Parsed as a number with optional grouping separator characters and decimal point characters appropriate for the active user's locale. |
SvrFloatConverter |
Parsed in the same manner as SVR_DOUBLE values. |
SvrInt8Converter |
Parsed as a number with optional grouping separator characters appropriate for the active user's locale. The presence of a decimal point is treated as an error. |
SvrInt16Converter |
Parsed in the same manner as the SvrInt8Converter. |
SvrInt32Converter |
Parsed in the same manner as the SvrInt8Converter. |
SvrInt64Converter |
Parsed in the same manner as the SvrInt8Converter. |
InternalIDConverter |
Parsed in a non-locale-specific manner. Grouping separators are not permitted and for negative values the minus sign must be on the left. |
SvrInt8BareConverter |
Parsed in the same manner as the InternalIDConverter. |
SvrInt16BareConverter |
Parsed in the same manner as the InternalIDConverter. |
SvrInt32BareConverter |
Parsed in the same manner as the InternalIDConverter. |
SvrInt64BareConverter |
Parsed in the same manner as the InternalIDConverter. |
SvrMoneyConverter |
Parsed in the same manner as SVR_DOUBLE values, but the magnitude of the values are limited to 1e13 to avoid the possibility of rounding errors. |
SvrStringConverter |
Parsed literally, i.e., strings are not changed by the parse operation. |
LocalizedMessageConverter |
Parsed literally in the same manner as the SvrStringConverter. Localized messages are not supported as input values, so this parser is never invoked. |
CodeTableCodeConverter |
Parsed literally as a code value in the domain's associated code-table. An error is reported if the code is not defined in that code-table. |
Pre-validate operations are used to perform validation checks, indicated by domain definition options set in the UML model, after values have been parsed to their Java object representations. The checks performed are not the same for all domains. The possible validation checks are: maximum size (length), minimum size (length), maximum value, minimum value, and pattern match. The maximum and minimum values are checked using the compare operation. The pre-validate checks applied as follows:
Plug-in Class | Max./Min. Size | Max./Min Value | Pattern Match |
---|---|---|---|
SvrBlobConverter |
Yes |
No | No |
SvrBooleanConverter |
No |
Yes | No |
SvrCharConverter |
No |
Yes | No |
SvrDateConverter |
No |
Yes | No |
DateTimeConverter |
No |
Yes | No |
CuramTimeConverter |
No |
Yes | No |
SvrDoubleConverter |
No |
Yes | No |
SvrFloatConverter |
No |
Yes | No |
SvrInt8Converter |
No |
Yes | No |
SvrInt16Converter |
No |
Yes | No |
SvrInt32Converter |
No |
Yes | No |
SvrInt64Converter |
No |
Yes | No |
InternalIDConverter |
No |
Yes | No |
SvrInt8BareConverter |
No |
Yes | No |
SvrInt16BareConverter |
No |
Yes | No |
SvrInt32BareConverter |
No |
Yes | No |
SvrInt64BareConverter |
No |
Yes | No |
SvrMoneyConverter |
No |
Yes | No |
LocalizedMessageConverter |
Yes |
No | Yes |
SvrStringConverter |
Yes |
No | Yes |
CodeTableCodeConverter |
Yes |
No | No |
The pre-validate operations should be customized via the domain definition options in the UML model. Customization of these options via domain plug-ins is not necessary and not supported.
The default implementations of the validate operations do not perform any extra validations.