Poseidon Delphi Code Generation Plug-in Guide

» PDF PDF Version =>

General Rules

Classifiers

  • Class
  • Interface
  • Enumeration
  • Record
  • Set
  • Sub Range
  • Array
  • Exception

Tagged Values

  • In a classifier, tag = 'uses' with value = string that represents the unit(s) name to be included in specified unit declaration, separated by commas.

    Description:
    This will handle the string that represents the unit(s) name to be included in a specified unit declaration. Blank 'uses' tagged values will be defaulted to 'SysUtils'.

    Example:
    UnitA, UnitB, UnitC

     

  • In an attribute, tag = 'published' with value = 'true'.

    Description:
    This will handle published visibility of a classifier attribute.

     

  • In an operation, tag = 'published' with Value = 'true'.

    Description:
    This will handle the published visibility of a classifier operation.

     

  • In an exception, tag = 'published' with Value = 'true'.

    Description:
    This will handle the published visibility of Exception.

     

  • In a classifier, tag = 'setvalue' with Value = string that represents the value of Set separated by comma.

    Description:
    This will handle the way to input the value of Set type.

    Example:
    1,9

     

  • In a classifier, tag = 'subrangevalue' with Value = string that represents the value of Sub Range separated by comma.

    Description:
    This will handle the way to input the value of Sub Range type.

    Example:
    1,9

     

  • In a classifier, tag = 'arrayvalue' with Value = string that represents the value of Array separated by comma.

    Description:
    This will handle the way to input the value of Array type.

    Example:
    1,9

     

  • In a classifier, tag = 'arraytype' with value = string that represents the type of Array.

    Description:
    This will handle the way to input the type of Array type.

     

  • In an operation, tag = 'virtual' with Value = 'true'

    Description:
    This will handle the way to set the specified operation into a 'virtual'type operation.

     

  • In an operation, tag ='dynamic' with Value = 'true'

    Description:
    This will handle the way to set the specified operation into a 'dynamic'type operation.

     

  • In an operation, tag = 'override' with Value = 'true'

    Description:
    This will handle the way to set the specified operation into a 'override' type operation.

     

  • In an operation, tag = 'overload' with Value = 'true'

    Description:
    This will handle the way to set the specified operation into a 'overload' type operation.

     

Note: all string input in the tag column is restricted to be case sensitive.

Tagged Values

Additional stereotypes used in Delphi code generation:

  • In an attribute, stereotype = 'Const'

    Description:
    This will handle the way to specify a 'const' type attribute.

     

  • In an operation, stereotype = 'function'

    Description:
    This will handle the way to specify a 'function' type operation.

     

  • In an operation, stereotype = 'procedure'

    Description:
    This will handle the way to specify a 'procedure' type operation.

     

  • In an operation, stereotype = 'procedure'

    Description:
    This will handle the way to specify a 'procedure' type operation.

     

  • In an attribute, stereotype = 'property'

    Description:
    This will handle the way to specify a 'property' type attribute.

     

  • In a classifier, stereotype = 'Enum'

    Description:
    This will handle the way to specify an 'Enumeration' type classifier.

     

  • In a classifier, stereotype = 'Record'

    Description:
    This will handle the way to specify a 'Record' type classifier.

     

  • In a classifier, stereotype = 'Set'

    Description:
    This will handle the way to specify a 'Set' type classifier.

     

  • In a classifier, stereotype = 'SubRange'

    Description:
    This will handle the way to specify a 'Sub Range' type classifier.

     

  • In a classifier, Stereotype = 'Array'

    Description:
    This will handle the way to specify an 'Array' type classifier.

     

  • In a classifier, Stereotype = 'Exception'

    Description:
    This will handle the way to specify an 'Exception' type classifier.

     

Modelling Element Rules

Class

  • Uses standard UML 'Class'
  • Participates in generalizations, associations and specifications
  • Only supports single inheritance

Interface

  • Uses standard UML 'Interface'
  • Participates in generalizations
  • Does not participate in associations or specifications
  • Only supports single inheritance

Enumeration

  • Uses standard UML 'Class' with <<Enum>> stereotype
  • Does not participate in generalizations or specifications
  • Cannot have navigable opposite association ends and operations

Record

  • Uses standard UML 'Class' with <<Record>> stereotype
  • Does not participate in generalizations or specifications
  • Can have navigable opposite association end,
  • Cannot have any operations

Set

  • Uses standard UML 'Class' with <<Set>> stereotype
  • Does not participate in generalizations or specifications
  • Cannot have navigable opposite association ends or operations

Sub Range

  • Uses standard UML 'Class' with <<SubRange>> stereotype
  • Does not participate in generalizations or specifications
  • Cannot have navigable opposite association ends or operations

Array

  • Uses standard UML 'Class' with <<Array>> stereotype
  • Does not participate in generalizations or specifications
  • Cannot have navigable opposite association ends or operations

Exception

  • Uses standard UML 'Class' with <<Exception>> stereotype
  • The same typical with Class.

Specific Rules

An attribute with 'non-1' multiplicity will generate an Array type that is defaulted to 'int' type with Lower Bound and Upper Bound value based on Lower Bound and Upper Bound value of specified multiplicity.

Example:

Attribute with multiplicity: 1..2 will generate : Array[1..2] of int;

  • Blank input of 'uses' tag will be defaulted to 'SysUtils'.
  • Blank input of 'setvalue' tag will be defaulted to 'a'..'z'
  • Blank input of 'subrangevalue' tag will be defaulted to 'a'.. 'z'
  • Blank input of 'arrayvalue' tag will be defaulted to '1'..'10'
  • Blank input of 'arraytype' tag will be defaulted to int
  • Blank input of 'procedure' and 'function' tag will be defaulted to procedure


© 2000 - 2010 Gentleware AG
         
                        
 support  documentation  delphi