Basic Commands (Template Language)
Command | Result Type | Description |
---|---|---|
IsLastItem | Boolean |
Returns true if the current item in the enumeration is the last one. No parameters are needed. Example: Within a loop, |
IsFirstItem | Boolean |
Returns true if the current item in the enumeration is the first one. No parameters are needed. Example: Within a loop, |
NotifyProgress(progress:Number) | Void |
Reports the template processing progress, where progress is a value from 0 to 1, with 1 indicating completed processing. Parameter: A number indicating the current progress. Example: |
Range([from:Number], to:Number) | Array |
Returns an array of numbers from 0 or the "from" parameter to the "to" parameter. Parameters: An optional starting number (default is 0) and an ending number. Example: |
Switch(case:Object, statement1:Object, return1:Object, ..., statementN:Object, returnN:Object) | Object |
Returns the returnI value if the case object equals the statementI object. Parameters: A case object to compare against, followed by pairs of statements and their corresponding return values. Example: |
Now | String |
Returns a string with the current date and time. No parameters are needed. Example: |
Today | String |
Returns a string with the current date without time. No parameters are needed. Example: |
ResetCounter([counterName:String]) | Void |
Sets the specified counter to zero. If no counter name is provided, the default counter is reset. Parameter: An optional name of the counter to reset. Example: |
AddToCounterReserved(reservedNumber:Number, [counterName:String]) | Void |
Excludes a reserved number from a counter. This number will be skipped in subsequent uses of the counter. Parameters: The number to reserve and an optional name of the counter. Example: |
GetNextFreeNumber([counterName:String]) | Number |
Returns the next free number for the specified counter, skipping any reserved numbers. If no counter name is provided, it uses the default counter. Parameter: An optional name of the counter. Example: |
HasImports | Boolean |
Returns true if there are imports (usings, imported packages) defined for the generation. No parameters are needed. |
Imports | Enumerator |
Enumerates top-level imports defined for the current code generation. This is used within a loop to process each import. Usage context: <%==SIM:ForEach:Imports==%> to iterate over each import and <%==SIM:Import.Name==%> within the loop to get the name of the import. |
CreateDocumentContext | Object |
Creates and returns a new document context. This context can be used to build a formatted text document. No parameters are needed. |
ExplicitWhitespacesOn | Void |
Activates explicit whitespace mode, which removes all automatic whitespaces, including line breaks, from the template output. Whitespaces must be manually added using the Space, Tab, and Line commands. |
ExplicitWhitespacesOff | Void |
Deactivates explicit whitespace mode, allowing the template engine to manage whitespaces automatically. |
ExplicitLinesOn | Void |
Prevents line breaks present in the template text from being transferred to the output, requiring explicit use of the Line command to insert line breaks. |
ExplicitLinesOff | Void |
Allows line breaks in the template to automatically appear in the output, without needing to use the Line command. |
CompactOn | Void |
Activates compact mode, which removes only trailing line breaks after commands from the output, making the generated content more compact. |
CompactOff | Void |
Deactivates compact mode, allowing trailing line breaks after commands to be included in the output. |
IndentSize(value:Number) | Void |
Sets the default indentation size for the processing session. This size is used by the Indent and StartBlock commands to determine the level of indentation. Parameter: A number specifying the number of characters to use for each indentation level. |
SetSpaceIndent | Void |
Sets space characters as the indentation character for the current document context. |
SetTabIndent | Void |
Sets tab characters as the indentation character for the current document context. |
AutoIndentOn | Void |
Enables automatic indentation, adding leading whitespaces for new lines based on the current indentation level, which is managed by StartBlock and EndBlock commands. |
AutoIndentOff | Void |
Disables automatic indentation, preventing the addition of leading whitespaces for new lines. |
StartBlock | Void |
Increases the current nesting (indentation) level by one, affecting subsequent lines until EndBlock is called. |
EndBlock | Void |
Decreases the current nesting (indentation) level by one, returning to the previous indentation state. |
Space([number:Number]) | Void |
Adds a specified number of space characters to the output. If no number is provided, adds a single space. Parameter: An optional number of spaces to add. |
Indent(level:Number) | Void |
Adds indentation to the output based on the current settings (character and size) multiplied by the specified level. Parameter: The level of indentation to add, with each level corresponding to the indent size set by IndentSize. |
IncreaseAutoIndentBase(value:Number) | Void |
Temporarily increases the base indentation level by the specified value, affecting the indentation of lines generated by the Line command. Parameter: The value by which to increase the base indentation level. |
DecreaseAutoIndentBase(value:Number) | Void |
Temporarily decreases the base indentation level by the specified value, affecting the indentation of lines generated by the Line command. Parameter: The value by which to decrease the base indentation level. |
WithoutStereotypes | Filter |
Returns a filter used to exclude elements with any stereotypes in commands that support filtering, such as RelatedElements. |
Tab([number:Number]) | Void |
Adds a tab or the specified number of tabs to the output. Parameter: An optional number of tabs to add. |
Line([number:Number]) | Void |
Adds a line break or the specified number of line breaks to the output. Parameter: An optional number of line breaks to add. |
GetModel(element:Element) | Object |
Returns the model of the specified input element, allowing access to its properties and relationships. Parameter: The element whose model is to be retrieved. |
Coalesce(p1:Object, p2:Object, ... pn:Object) | Object |
Returns the first non-empty and non-null object among the given parameters. This command is useful for selecting the first available value when multiple potential values are present. Parameters: A list of objects to evaluate in order. Example: |
New Comment