2015-02-02 1 views
2

Мне нужно иметь возможность установить начальное значение литерала перечисления с помощью API автоматизации Java EA. К сожалению, мне не удалось выяснить, как это можно сделать в руководстве. Как я узнал, перечисление фактически представлено элементом Элемент в объектной модели EA. Я создаю элемент Эля типа перечисления и я добавление Атрибута к нему, используя следующий код:Как установить начальное значение для записи перечисления в Enterprise Architect с использованием API автоматизации Java?

org.sparx.Attribute attr1 = elem.GetAttributes().AddNew("PTS_OFF", "Enum"); 

Тогда я могу изменить некоторые свойства этого атрибута, но я не могу найти сеттер для начального значения, доступного в графическом интерфейсе. Есть ли специальный API для этого, или я могу сделать это только с помощью GUI (, щелкнув правой кнопкой мыши по записи Enumeration-> Properties-> Details-> Attributes-> General-> Initial Value)? Я использую EA v11.

+0

Как вы определяете тегированные значения? Через MDG или просмотр телевизоров по умолчанию? –

ответ

0

Проблема решена! Я подозревал, что это было легче, чем казалось. Благодаря Томасу Килиану, который дал идею использования SQL для этой задачи, я смог выполнить поиск и выяснить, какое поле в базе данных точно соответствует «Начальному значению» в диалоговом окне. Получается, что следующий код обновляет начальное значение:

attr1.SetDefault("my initial value");

Использование SQL также работает, но это более сложный путь в этом случае, как элемент атрибута фактически содержит сеттер для этого. Следуя предложению Томаса, можно сделать следующее:

Repository.Execute("UPDATE t_attribute SET Default='my init value' where Name = 'PTS_OFF'");

+0

Я использовал привычное мышление после использования EA в течение стольких лет. Но иногда я пропускаю более очевидное решение ;-) Во всяком случае, я не могу найти ссылку в справочной системе для этого метода. Можете ли вы указать на это? Благодаря! –

+0

Это нигде не документируется. Я открыл _eaapi.jar_ и проверил методы, предоставленные классом ** Attribute **. Я не смог определить, какой метод использовать до тех пор, пока я не узнаю (используя поиск SQL), что имя столбца для Начального значения атрибута фактически называется ** По умолчанию **. Тогда вдруг стало очевидно ... :-) – ivan1123

+0

Хорошее горе - я, хотя вы говорили о отмеченных значениях: - [Я не должен работать слишком поздно. –

 Смежные вопросы

  • Нет связанных вопросов^_^