Override this if there is just one conversion used for both constants and for runtime expressions.
Override this if there is just one conversion used for both constants and for runtime expressions.
Override these runtime and constant-specific variants if you need different conversions done if an expression is evaluated at runtime.
Override these runtime and constant-specific variants if you need different conversions done if an expression is evaluated at runtime.
This is for things like delimiters or escapeCharacter where it can be "" if it is a constant, but it cannot be "" if it is a runtime expression value.
The forUnparse flag is for distinctions needed between parse time and unparse time which is very common thing to have.
This is not the same concept as Compile time vs. Runtime.
We refer to the process of checking and replacing entities within DFDL string literals as "cooking" them.
They start raw. Thawing replaces XML literals like " Cooking replaces DFDL literals, as appropriate depending on
* forUnparse - things like WSP+ just turn into a single space when unparsing. For parsing they get processed later into a lexical analyzer/DFA part. * Which property the cooking is for: This determines also error checking of which kinds of entites (raw aka byte, character entities, or character-class entities). * Of the character class entities, which specifically are allowed or disallowed.
The taxonomy of trait mixins and classes combine to implement the right combination of the above.