Literals

Here are the different literal values supported by MQL:

String

A set of characters inside double quotes, e.g.: "some text".

If the text itself contains the double-quote character or backslashes, you have to precede them with a backslash; this is called escaping. You can type any other character, including line breaks, in the text directly:

"It's \"quoted\" and
this is a backslash: \\"

Here is an overview of supported escape sequences:

  • \" : quotation mark
  • \\ : back slash
  • \n : line feed
  • \t : horizontal tabulation (a.k.a. tab)

Boolean true or false.
Number

Any number literal.

You can use - or + to indicate the sign (+ is redundant). Scientific notation is not supported (so 1E3 is wrong). Also, you cannot omit the 0 before the decimal separator (so .5 is wrong).

Examples of valid number literals: 0.08, -5.013, 8, 008, 11, +11

List

A set of comma-separated values inside brackets, e.g. ["winter", "spring", "summer", "autumn"]. The items in the list are expressions.

The underlying list will be an instance of the interface com.sodius.mdw.core.model.MDWList, subclass of java.util.List.

Map

A set of comma-separated key/value pairs inside braces, e.g. {"winter" = "cold", "summer" = "warm"}. The names and values in the map are expressions.

The underlying map will be an instance of the interface java.util.Map.

Range

Integer values separated by two periods , e.g. 1..10. Note that 2..5 is the same as [2, 3, 4, 5], but the former is much more efficient (occupies less memory and faster).

No value null represents nothing or the value null.