Objects

Objects are generated in a transformation as text in the following form:

objectType

{

   objectProperties*
   XRef{xref}*

   Tag{tag}*

   Attribute{attributes}*

   Operation{operations}*

   Classifier{classifiers}*

   Parameter{parameters}*

}

 

 

For example:

Class

{

 name = "Example"

 language = "C++"

 Tag

  {

       name = "defaultCollectionClass"

       value = "List"

  }

  Attribute

  {

       name = "count"

       type = "int"

  }

}

 

 

Every object created in a transformation should include an XRef syntax element (see the end of this topic), as it helps the system to synchronize with the object and makes it possible to create a connector to that Class in the transformation.

Syntax elements in the code

Element

Detail

See also

objectType

objectType is one of these:
 

·Action
·ActionPin
·Activity
·ActivityParameter
·ActivityPartition
·ActivityRegion
·Actor
·Association
·Change
·Class
·Collaboration
·CollaborationUse
·Component
·DeploymentSpecification
·DiagramFrame
·Decision
·EntryPoint
·Event
·ExceptionHandler
·ExecutionEnvironment
·ExitPoint
·ExpansionNode
·ExpansionRegion
·ExposedInterface
·GUIElement
·InteractionFragment
·InteractionOccurrence
·InteractionState
·Interface
·InterruptibleActivityRegion
·Issue
·Iteration
·Object
·ObjectNode
·MessageEndpoint
·Node
·Package
·Parameter
·Part
·Port
·ProvidedInterface
·RequiredInterface
·Requirement
·Sequence
·State
·StateMachine
·StateNode
·Synchronization
·Table
·TimeLine
·Trigger
·UMLDiagram
·UseCase

 

 

objectProperties

objectProperties is zero, or one instance of one or more of these:
 

·Abstract
·Alias
·Arguments
·Author
·Cardinality
·Classifier
·Complexity
·Concurrency
·Filename
·Header
·Import
·IsActive
·IsLeaf
·IsRoot
·IsSpecification
·Keyword
·Language
·Multiplicity
·Name
·Notes
·Persistence
·Phase
·Scope
·Status
·Stereotype
·Version
·Visibility

 

 

Attribute

Attribute has the same structure as objectType, and includes these properties:
 

·Alias
·Classifier
·Collection
·Container
·Containment
·Constant
·Default
·Derived
·LowerBound
·Name
·Notes
·Ordered
·Scope
·Static
·Stereotype
·Type
·UpperBound
·Volatile

 

Attribute  also includes these elements:

·Classifier
·Tag
·XRef
 

 

Operation

Operation has the same structure as objectType, and includes these properties:
 

·Abstract
·Alias
·Behavior
·Classifier
·Code
·Constant
·IsQuery
·Name
·Notes
·Pure
·ReturnArray
·Scope
·Static
·Stereotype
·Type

 

Operation  also includes these elements:

·Classifier
·Parameter
·Tag
·XRef

 

 

Parameter

Parameter has the same structure as objectType, and includes the Tag element and these properties:

·Classifier
·Default
·Fixed
·Name
·Notes
·Kind
·Stereotype

 

 

Tag

Tag has these properties:

·Name
·Value
 

 

Special Cases

Certain types of object have variations of the object definition syntax.

Object

Detail

See also

Packages

Packages differ from other objects in the following ways:

·They have a reduced set of properties: alias, author, name, namespaceRoot, notes, scope, stereotype and version
·The property namespaceRoot is only given to Packages
·A name must be specified for each Package
·The name property can be a qualified name; when a qualified name is specified, the properties given are applied only to the final Package
·Only Packages can contain other Packages
·Packages can't contain attributes and operations

 

 

XRef

Cross references are defined using the transform statements. The properties include:

·Namespace
·Name
·Source
·Notes
 

Cross References

Tables

Tables are a special type of object, with the following differences from other object types:

·They can include columns and primary keys
·They cannot include attributes

 

 

 

 

Foreign Key

Columns

Columns are similar to attributes, but have an autonumber element containing Startnum and its increment, and the following added properties:

·Length
·NotNull
·Precision
·PrimaryKey
·Scale
·Unique

 

In the column definition, you cannot assign a value to the NotNull, PrimaryKey or Unique properties.