Форум Сообщества Аналитиков
Общий раздел => ПО Аналитика => Sparx => Тема начата: Sergasd от 17 Июля 2009, 10:23:39
-
Господа! В java тип атрибута можно задать с помощью встроенных типов long, int, bollean и с помощью классов Long, Integer, Boolean и т.д.
Как в Enterprise Architectore на UML диаграмме классов задать тип атрибута, чтобы этот тип при трансформации из модели в модель и при генерации кода, становился типом Java Long или Integer, а не long и int (типов Long и Integer нет в списке допустимых типов в EA, если создаешь новый тип -EA воспринимает long и Long как одно и тоже)? А то как то вручную не очень хочется править.
В общем в коде мне нужно получить именно Long (nullable)
-
Может сделать класс с названием Long и его выбирать?
-
Лучше от Long сделать производный класс прикладного назначения, возможно не один, и пользоваться только такими классами.
P.S. в Java существует разница между типом данных long и объектом Long. А в EA, видимо, нет (правда, я не очень в курсе последнего)
-
Здравствуйте,
Из моего опыта - в проектах, где требуется использование не примитивных типов Java, а базовых классов из java.lang использую дополнительно созданную диаграмму классов для этого пакета с помощью Code Engineering - Import from source directory. В качестве каталога-источника беру каталог с классами из пакета JDK или JRE (в java 6.0 - распаковываю файл JAVA_HOME\lib\rt.jar - в случае с базовыми классами, входящими в состав java.lang - из набора классов, беру классы из подкаталога java\lang). После импорта классы можно использовать в проекте.
Данным методом пользуюсь в случае, если необходим доступ к методам и полям классов Java. В случае, если необходимо указать просто тип атрибутов - в проекте просто создаются пустые классы требуемых типов с указанием пакетов (например, java.lang.Integer).
-
Настроить схему трансформации, где указать явно, что вместо long используется Long. А вообще в ЕА есть специальные расширения для раундтрип разработки в платформах типа java, наверняка в них все эти моменты учтены