Customizing the metamodel > Specifying the display of values on symbols > Syntax of the DISPLAY command
  
Syntax of the DISPLAY command
There is a limit of eight display statements for one definition.
Syntax
DISPLAY
{ FORMAT
[ STRING | LIST | KEY | NONKEY | COMPONENT_SCRIPT | COLUMN_SCRIPT | SCRIPT ]
LEGEND " how the block is labeled in the symbol " }
Parameters
STRING
This is the default. It displays the values of the property on the symbol exactly as they are typed. This choice is a good one if you want comments to be displayed.
LIST
Displays items on the symbol in a list. Each whitespace character causes a new line, unless the whitespace is in double quotes.
KEY
Use this keyword for properties designated as keys. They are displayed in a separate section of the symbol. See the KEY keyword for an example.
NONKEY
Use this keyword for non-key properties. They are displayed in a separate section of the symbol. This keyword was originally used for entities and tables in System Architect's data modeling support. See the NONKEY keyword for an example.
COMPONENT_SCRIPT
Calls a script that displays the property value on the symbol in a special format, devised by the script. The script itself is either hard-coded in the product, or written by the user using System Architect Basic language. By convention, the script itself is named with one of the following prefixes:
fmtxxx
The function exists in hard code and cannot be modified. Most functions in SAPROPS.CFG are this way. Hard-coding the function is done to make System Architect's overall response faster.
_fmtxxx
The function exists in the FMTSCRIPT.BAS file in System Architect’s main executable directory, and is coded using SA Basic.
The component scripts are used for LISTOF and EXPRESSIONOF properties. The action taken by the script works against each item in the list. For example, a component script is used to look at each class attribute in a class definition, and construct how it is displayed on the class symbol: providing a - (hyphen) before the name if the attribute’s access property is set to private, or + (plus sign) if it is public, and displaying the attribute's return type after the attribute name, preceded by a colon. Similarly, a component script constructs the way a method is displayed, with + (plus sign) before the name if its access is public, and - (hyphen) if its access is private, and in addition displays its parameters and their type in parenthesis after the method’s name.
This graphic is described in the surrounding text.
For more information, see COMPONENT SCRIPT and SCRIPT.
COLUMN_SCRIPT
Works like COMPONENT_SCRIPT, calling a script to apply a special formatting to a property value displayed on a symbol. The script is either a hard-coded script or one written by the user using SA Basic (and placed in the FMTSCRIPT.BAS file within System Architect's main executable directory). The column scripts display columns in table symbols in a physical data model. The action taken by the script works against each column in the list. For more information, see COLUMN SCRIPT.
SCRIPT
Works like COLUMN_SCRIPT and COMPONENT_SCRIPT, calling a script to apply a special formatting to a property value displayed on a symbol. The SCRIPT command calls scripts used for properties that are neither ListOf nor ExpressionOf. The script itself is either a hard-coded script or one written by the user using SA Basic (and placed in the fmtscript.bas file within System Architect's main executable directory). For more information, see SCRIPT.
LEGEND
Each property group that is displayed is separated from each other by a dividing line. You can specify a label, or “legend” to appear on the dividing line, using the LEGEND command. If a LEGEND is not supplied, the property name itself is the label.
To set the font of the legends, click Format > Diagram Format > Notation.
The following LEGEND commands are available:
LEGEND "text"f
Whatever text you place in the quotation marks will be displayed on the symbol above the entry, only if there is a value for the entry.
LEGEND ""
Displays a straight line without any words, only if there is a value for the entry.
LEGEND "$$FORCE$$"
Displays a horizontal line above the entry on the symbol. This line acts as a divider. The "$$FORCE$$" keyword is different than using just " ", because it forces display of a horizontal line even if the property display is suppressed through the display mode dialog.
LEGEND "$$NONE$$"
Does not display a horizontal line above the entry on the symbol, whether or not there are values for the entry. This line usually acts as a divider.
LEGEND "$$VFORCE$$"
Enables you lay out properties from left to right inside symbols, and draws vertical lines between them.
This graphic is described in the surrounding text.
For an example that creates the preceding picture, see VFORCE keyword.
LEGEND "$$VNONE$$"
Lays out properties from left to right, but does not provide a dividing line. For an example, see VNONE.
Example
The following example:
specifies a new diagram type, new symbol type, and new definition type
specifies that the new symbol type is defined by the new definition type, and assigns the new symbol type to the new diagram type
creates a property for the definition, called “My Important Property”
displays the “My Important Property Displayed” legend on the symbol on the dividing line above the displayed value.
RENAME DIAGRAM "User 1" TO "My Diagram"
RENAME SYMBOL "User 1" TO "My Symbol 1"
SYMBOL "My Symbol 1"
{
DEFINED BY "My Definition 3"
ASSIGN TO "My Diagram"
}
DEFINITION "My Definition 3"
{
PROPERTY "My Important Property"
{ EDIT Text Length 20 DISPLAY
{ FORMAT String LEGEND "My Important Property Displayed" }
}
}
The following figure shows a subsequent symbol drawn on such a diagram, and the displayed value typed in the property field.
This graphic is described in the surrounding text.
See also
Specifying the display of values on symbols