Моделирование проблемной области на Java, Информация о выпуске

© Copyright International Business Machines Corporation 2006. Все права защищены. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Информация о выпуске

1.0 Ограничения
2.0 Известные неполадки и обходные пути
   2.1 Рефакторинг и ассоциации типа коллекции

1.0 Ограничения

Нет

2.0 Известные неполадки и обходные пути

2.1 Рефакторинг и ассоциации типа коллекции

При определении ассоциаций типа коллекции для элементов Java в диаграмме необходимо использовать опцию "применять параметризуемые коллекции". Эта опция доступна, если тип принадлежит проекту J2SE 5.0, то есть для проекта настроены параметры компилятора, соответствующие J2SE 5.0, и используется среда выполнения Java J2SE 5.0. Вот пример этого поля:

private List<MyClass> listOfMyClass;

Если над целевым объектом данной ассоциации (MyClass)  выполнении операция перемещения или переименования с помощью рефакторинга, то ассоциации на диаграмме будут автоматически рефакторизованы правильно.

Если параметризумые коллекции не используются (или из-за предпочтений пользователя, или из-за того, что данный проект не является проектом J2SE 5.0), то информация о типе коллекции записывается в аннотациях в javadoc для поля, например: 
  /**                                                                             
   * @uml.annotations  for <code>class21</code>
                collection_type="myPackage.MyClass"
   */
  private List<MyClass> listOfMyClass;

В этом случае при переносе MyClass с помощью рефакторинга информация о типе коллекции будет потеряна, так как рефакторинг информации в javadoc не выполняется. Пользователь должен будет вручную изменить полное имя класса в аннотации javadoc.

Для того чтобы при переименовании с помощью рефакторинга рефакторинг выполнялся для аннотации, в мастере рефакторинга необходимо выбрать опцию "обновить текстовые ссылки в комментариях и строках". Если эта опция не выбрана, то информация о типе коллекции будет потеряна, и пользователь должен будет вручную изменить полное имя класса в аннотации javadoc.