Особенности генерации типов данных, свойства типов данных и их редактирование, пример сгенерированного кода

Type, стереотип, вводящий новый тип. При генерации кода на целевом языке объявляется этот тип. Типы не могут связываться никакими ассоциациями, но могут наследоваться.

Пример:

Описание типа

Что генерируется Генерация в SQL DDL Генерация в .Net-язык  
  Любая часть любого UML-класса (атрибут, параметр метода и т.д.), объявленная этим типом Как есть или указывается преобразование в карте типов для генератора Как есть. Атрибут, параметр метода и т.п. объявляются этим типом
UML-класс   .Net-класс  
Атрибут UML-класса   Публичное виртуальное свойство с тем же именем и соответствующим модификатором (# - protected, + - public, - - private) и приватный член класса для этого свойства. Тип свойства и приватного члена - тип атрибута.  
Метод UML-класса   Публичный виртуальный метод с соответствующими параметрами. Тело метода пустое со скобкой программиста для внесения кода метода.  

Дополнительно редактируемые свойства и что как генерируется

Окно редактирования свойств типа данных выглядит следующим образом:

1.Закладка редактирования свойств UML-класса:

Свойство Описание Генерация в .Net-язык
Stored    
Name Имя UML-класса, оно же имя типа Имя .Net-класса
Description Рекоторое развёрнутое описание, при необходимости, для пояснительных целей Как DocComment к классу в код на .Net-языке
PrimaryKeyStorage    
Storage    
AutoAltered    
LoadingOrder    
Trim    
Packet, NamespacePostfix Позволяют настроить сборку и пространство имен, в которое должен генерироваться тип см. Расположение сборок после генерации кода
PBCustomAttributes   Если галочка указана - генерируется скобка программиста для “ручного” внесения атрибутов перед классом.
PBMembers Позволяет указать, необходима ли скобка программиста внутри класса для “ручного” внесения членов класса Если галочка указана - генерируется скобка программиста для “ручного” внесения членов класса
PBClass    
PublishToEBSD   Если галочка указана - перед классом генерируется указание атрибута PublishToEBSDAttribute, который указывает доступность данного класса для использования в редакторе диаграмм сценариев

2.Закладка редактирования свойств атрибутов UML-класса:

Свойство Описание Генерация в .Net-язык
AccessModifier модификатор доступа к соответствующему свойству .Net-класса Модификаторы:+ - public - - private # - protected
Stored    
Name то же самое имя атрибута, что на диаграмме Имя свойства в .Net-классе, а также некоторое производное имя приватного члена (в зависимости от формата приватного члена, который указывается в настройках генератора).
Description описание для пояснительных целей Как DocComment к свойству
Type тип данных свойства Как тип свойства и тип приватного члена
DefaultValue значение по умолчанию Как инициализатор приватного члена
NotNull    
DataServiceExpression    
Storage    
Hint    
Order    
PBCustomAttributes   Если галочка указана - перед определением свойства генерируется скобка программиста для “ручного” внесения .Net-атрибутов.
PBGetStart   Если галочка указана - генерируется скобка программиста в аксессоре get свойства непосредственно после начала кода аксессора.
PBGetEnd   Если галочка указана - генерируется скобка программиста в аксессоре get свойства непосредственно перед концом кода аксессора.
PBSetStart   Если галочка указана - генерируется скобка программиста в аксессоре set свойства непосредственно после начала кода аксессора.
PBSetEnd   Если галочка указана - генерируется скобка программиста в аксессоре set свойства непосредственно перед концом кода аксессора.
Autoincrement    

3.Закладка редактирования свойств методов UML-класса:

В верхней части - методы, в нижней - параметры выбранного в верхней части метода.

Для методов:

Свойство Описание Генерация в .Net-язык
AccessModifier модификатор доступа к соответствующему методу .Net-класса Модификаторы: + - public - - private # - protected
Name то же самое имя метода, что на диаграмме Имя метода в .Net-классе
Description описание для пояснительных целей Как DocComment к методу. Если IsEvent указан, описание генерируется перед событием и перед методом, взводящим событие.
Type тип данных метода Как тип метода. Если не заполнено - void.
IsEvent указывает, что это не метод, а событие Если IsEvent указан, то метод должен иметь ровно один параметр с типом, объявленным как UML-класс со стереотипом EventArg. Рядом с описанием EventArg, - генерируется соответствующий делегат. Внутри класса-типа - событие. Внутри класса-типа - метод, взводящий событие (навроде OnXXXXXXX)
PBCustomAttributes   Если галочка указана - генерируется скобка программиста непосредственно перед методом для “ручного” внесения .Net-атрибутов.] Если IsEvent указан, скобка программиста генерируется перед методом взведения события OnXXXXXXX

Для параметров методов:

Свойство Описание Генерация в .Net-язык
Name то же самое имя параметра, что на диаграмме Имя параметра метода в .Net-классе
Description описание для пояснительных целей Как описание параметра в DocComment к методу, чей это параметр.
Type тип данных параметра Тип данных параметра
Modifier   Модификатор передачи параметра: byref - ref; byval - ничего; out - out; in - in.

Пример сгенерированного кода на C# по примеру

 /// <summary>
    /// Представление интервалов времени
    /// </summary>
    // *** Start programmer edit section *** (МинСек CustomAttributes)
    // *** End programmer edit section *** (МинСек CustomAttributes)
    public class МинСек
    {
        
        private int fМин;
        
        private int fСек;
        
        public virtual int Мин
        {
            get
            {
                return this.fМин;
            }
            set
            {
                this.fМин = value;
            }
        }
        
        public virtual int Сек
        {
            get
            {
                return this.fСек;
            }
            set
            {
                this.fСек = value;
            }
        }
    }