Как указать литерал перечисления в качестве значения по умолчанию в атрибуте UML?

В настоящее время я делаю некоторые преобразования модели, используя EMF-UML-Implementation. В моем преобразовании модели я создаю класс uml с некоторыми атрибутами. Атрибуты — это типы перечислений, которые я также создал. Некоторые атрибуты должны получить значение по умолчанию. Значение по умолчанию должно быть литералом перечисления.

Теперь вопрос в том, как мне получить литералы перечисления для defaultValue-свойства Property.

Я уже обнаружил, что должен использовать ValueSpecification. Но надстройка UML мало что говорит об этом (стр. 139 и далее). Какие свойства я должен использовать для установки значения по умолчанию для литералов перечисления?

Я думаю, что основная моя проблема в том, что мне непонятно использование ValueSpecification. В настоящее время я использую только default для установки значений по умолчанию, которые являются типом String.


person martin    schedule 16.08.2012    source источник


Ответы (1)


Свойство defaultValue принимает аргумент ValueSpecification. Итак, в вашем случае для этой цели вам нужен InstanceValue (который происходит от ValueSpecification). Сам InstanceValue имеет свойство instance, которое принимает InstanceSpecification в качестве аргумента. Поскольку EnumerationLiteral происходит от InstanceSpecification, теперь вы можете просто назначить ему один из ваших EnumerationLiterals.

person Manuel    schedule 17.08.2012