corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Автоматическое создание пользовательского кода UML в среде NetBeans

Встроенный механизм создания кода стал важным нововведением в компоненте UML среды NetBeans 6.1.

При создании класса Java с помощью мастера создания проекта в среде IDE NetBeans для создания исходного кода, внесения соответствующей информации вместо переменных-маркеров (имени автора, даты создания, лицензии, имени класса, имени конструктора и других атрибутов) используются шаблоны создания кода. В версиях NetBeans до 6.1 в этих шаблонах создания кода не поддерживалась возможность указания особых вариантов поведения разработчиком.

В NetBeans 6.1, однако, используется механизм шаблонов под названием "Freemarker" с открытым исходным кодом, поддерживающий создание пользовательского кода. Различие между старыми шаблонами NetBeans и новыми, предоставляемыми средством Freemarker, заключается в возможности индивидуальной настройки создания содержимого с помощью кода сценариев в шаблонах. Эта возможность относится и к другим компонентам NetBeans, однако шаблоны теперь можно использовать для индивидуальной настройки посредством компонента создания кода модуля UML, что позволяет добиться значительной гибкости кода, создаваемого с помощью UML.

Содержание

Содержимое этой страницы относится к IDE NetBeans 6.0 и 6.1

Требуемое программное обеспечение

Для работы с этим руководством требуется программное обеспечение и ресурсы, перечисленные ниже.

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans NetBeans 6.1
Демонстрационный проект "BankApp" поставляется со средой IDE NetBeans
Комплект для разработчика на языке Java (JDK) версия 6 или версия 5
В файл Zip, приложенный к этой статье, вошли шаблоны и сведения о проекте. http://www.netbeans.org/files/documents/4/1942/codegenresources.zip

Файлы шаблонов Freemarker и разработка на основе моделей

Вместе с компонентом UML в среду IDE NetBeans 6.1 добавлен ряд файлов шаблонов Freemarker. (Для получения сведений о Freemarker см. http://freemarker.org/ . Для получения подключаемого модуля Freemarker для NetBeans, который можно использовать с исходным кодом Freemarker, см. http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp? pluginid=3755.)

Шаблоны позволяют создавать стандартные исходные файлы Java (классы, интерфейсы и списки) из элементов модели с помощью стандартных шаблонов исходных файлов Java. Доступ к шаблонам Freemarker в целях индивидуальной настройки осуществляется аналогично прочим шаблонам в NetBeans. См. также http://wiki.netbeans.org/FaqFreeMarker .

Разработка на основе моделей

Значительная часть возможностей, получаемых благодаря объединению UML с Freemarker, связана с возможностью разработки на основе моделей (MDD). MDD позволяет вести разработку путем отображения атрибутов элементов на шаблоны Freemarker, в результате чего создаются элементы модели, маркированные стереотипами, которые позволяют создавать сложные шаблоны проектирования программного обеспечения.

Например, из одного элемента "Class" со стереотипом ejb-stateless можно создать файлы исходного кода для класса компонента, домашнего и удаленного интерфейсов приложения EJB.

Для отдельных методов можно использовать стереотип business, указывающий методы, предоставляемые клиенту. В качестве примера из конкретной области можно привести стереотип shopping-cart, который может представлять собой полную реализацию EJB корзины покупок. Для каждого из этих стереотипов возможно отображение на конкретные шаблоны, создающие требуемый код.

Базовая подготовка к успешному созданию шаблона Freemarker

Несмотря на то, что эта статья не посвящена собственно написанию сценариев, создание успешных индивидуальных сценариев и соответствующих шаблонов значительно упрощается при наличии следующих трех навыков:

  • знаний по созданию сценариев Freemarker;
  • знаний по модели исходных данных;
  • знакомства с целевой областью форматов вывода.

Создание сценария Freemarker

Первый навык – некоторое умение в обращении с языком сценариев Freemarker. Freemarker аналогичен другим языкам написания сценариев. Для получения информации по Freemarker см. Интерактивное руководство по Freemarker на веб-сайте SourceForge.

Модель исходных данных

Используемые модели исходных данных различаются по своей сложности. В модели данных UML два элемента: один типа "ClassInfo" с именем модели "classInfo" и другой типа "Classifier" с именем модели modelElement. Эти элементы нетрудно заметить при исследовании сценариев, доступных в шаблонах.

Целевая область форматов вывода

Формат вывода представляет собой результат создания кода. Учитывать поведение языков программирования – нетривиальная задача. Разработчику приходится мыслить как синтаксический анализатор языка программирования. В случае Java необходимо начинать с объявления пакета и продолжать операторами импорта. В объявлении класса используется множество переменных, которые необходимо учитывать: контекст, имя класса, выражение extends и реализации.

Объявление класса может также сопровождаться комментариями. Необходимо уделять внимание атрибутам и методам, а также их подписям и комментариям. Пробелы также имеют значение.

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

Использование демонстрационного проекта "BankApp" совместно с созданием пользовательского кода

Перед началом работы необходимо получить архив дистрибутива, как указано в разделе "Требуемое программное обеспечение". Этот дистрибутив имеет в своем составе шаблоны создания кода Freemarker и проекты NetBeans. Также потребуется демонстрационный проект "BankApp", входящий в состав среды IDE.

В эту статью входит руководство по созданию пользовательского кода. В качестве начальной базы для руководства по созданию пользовательского кода можно воспользоваться демонстрационными проектами, поставляемыми вместе с компонентом UML в среде IDE.

Сначала необходимо создать проект "Java and UML" для поставляемого со средой IDE демонстрационного проекта приложения "BankApp":

  1. Выберите в главном меню среды IDE "File > New Project".
  2. На странице "Choose Projects" разверните узел "Samples" на панели "Categories" и выберите узел "UML". После этого панель "Projects" обновляется, и выводятся доступные демонстрационные проекты UML.
  3. На панели "Projects" выберите "UML Bank App Sample" и нажмите кнопку "Next".
  4. На странице "Name and Location" оставьте значение по умолчанию UMLBankAppSample в качестве названия проекта Java или измените его, если такой проект уже существует.
  5. Нажмите кнопку "Finish". В IDE NetBeans создаются два проекта: проект Java и проект UML. Если выбрано имя по умолчанию, проект Java будет называться UMLBankAppSample, а проект UML – UMLBankAppSample-Model.
  6. Разверните узел проект UML и просмотрите все подузлы узла "Model". Среди них один пакет – "bankpack", несколько элементов "Class" и один элемент "Interface". Эти элементы стали результатом обратного проектирования проекта Java.
  7. Щелкните любой из этих элементов правой кнопкой мыши, выберите "Navigate to Source", и файл исходного кода проекта Java откроется в редакторе NetBeans.
  8. Внесите изменения в эти элементы и выполните операцию "Generate Code". Исходные файлы в проекте Java обновляются соответствующим образом. (Здесь пригодится знание взаимосвязи между проектом Java и проектом UML.) Основное внимание теперь будет уделяться создания кода для каждого из этих элементов и, во вторую очередь, настраиваемому созданию кода.

Теперь, когда создан проект "Java and UML", который предполагается использовать, можно рассмотреть средства, используемые в процессе создания кода UML.

Средства UML NetBeans, используемые в процессе создания кода UML

Перед началом создания пользовательских шаблонов и их отображением на элементы модели важно ознакомиться со средствами среды IDE NetBeans, которые предстоит использовать, а также с их взаимосвязью.

Среди этих средств можно отметить панели, средства индивидуальной настройки и диалоговое окно:

  • Диспетчер шаблонов NetBeans: используется для доступа к шаблонам в их папках.
  • Панель NetBeans "UML Template Options": используется для отображения файлов шаблонов на элементы модели.
  • Средство индивидуальной настройки проекта UML NetBeans (для свойств проекта): используется для включения шаблонов области.
  • Диалоговое окно "Generate Code": это диалоговое окно используется для создания кода из шаблонов.

Каждое из этих средств играет роль в настройке и использовании шаблонов в процессе создания кода UML.

Управление файлами шаблонов с помощью диспетчера шаблонов NetBeans

Все шаблоны в NetBeans 6.1 основаны на механизме шаблонов Freemarker.

Внутри среды IDE шаблонами Freemarker можно управлять с помощью диспетчера шаблонов NetBeans. Для доступа к шаблонам необходимо выполнить следующие действия:

  1. В главном меню среды IDE выберите "Tools > Templates". Откроется диалоговое окно "Template Manager". В этом окне выводится ряд папок, используемых для разделения шаблонов по категориям.
  2. Разверните папку "UML" и ее подпапки.
На рисунке показано диалоговое окно "Template Manager".

Файлы шаблонов, добавляемые к среде IDE, не обязательно должны содержать сценарии Freemarker, поэтому в диспетчере шаблонов отсутствует ожидаемый формат добавляемых файлов. Шаблоны для создания кода Java разработаны с учетом максимально возможного многократного использования кода.

При добавлении файлов шаблонов следует учитывать следующие соображения:

  • Файл CompilationUnit.java служит единственным файлом шаблона для создания исходных файлов классов Java, интерфейсов и списков.
  • На дополнительные файлы (файлы *Declaration.java и DeclLib.ftl) устанавливается ссылка из файла CompilationUnit.java.
  • В других папках есть множество других шаблонов. Некоторые из них могут содержать ценные примеры создания сценариев, которые можно использовать в пользовательских шаблонах для создания кода UML. Однако в процессе создания кода UML используются только шаблоны, указанные в папке "UML/Code Generation" и ее подпапках
  • Для хранения шаблонов можно создавать собственные подпапки в каталоге "UML/Code Generation"; шаблоны в них доступны для процесса создания кода UML.

В этой статье используются простейшие сценарии шаблона Freemarker, что позволяет задействовать возможности, предоставляемые процессом создания кода UML среды NetBeans для механизма шаблонов Freemarker.

Использование шаблонов областей значений отображения с помощью окна "UML Options" в среде NetBeans

В первом действии были созданы пользовательские файлы шаблонов Freemarker. Некоторые шаблоны для создания кода Java уже доступны.

Однако при использовании файлов шаблонов следующим действием должно стать отображение этих файлов шаблонов на элементы модели. Это отображение настраивается в окне NetBeans "UML Options" следующим образом:

  1. В главном меню среды IDE выберите "Tools > Options".
  2. Щелкните категорию "UML options".
  3. Перейдите к вкладке "Templates".
  4. Выберите узел дерева "Basic Class".

В результате на экран выводятся свойства шаблона области "Java/Basic Class", указывающие, что все элементы модели, имеющие тип "Class" и не имеющие стереотипа, отображаются на файл шаблона UML/Code Generation/Java/CompilationUnit.java, и что результат выводится в файл, одноименный элементу, но с расширением .java.

На рисунке показан шаблон области."

Создание кода для объектов области с помощью файлов шаблонов пользовательского кода

В компоненте UML имеется несколько типов элементов (например, "Class", "Interface", "Actor"). Этим элементам могут быть приданы стереотипы, идентифицирующие элемент по его назначению или поведению. Объект области – это объект, уникальный для языка области (Domain Specific Language; DSL).

Например, в области "Банкомат" (в этом руководстве не используется) возможны подобные объекты области:

  • клиент,
  • счет,
  • депозит,
  • операция снятия средств,
  • банк.

Эти объекты области могут быть представлены в диаграмме классов UML в виде элементов "Class" с соответствующими стереотипами:

  • customer
  • account
  • deposit
  • withdrawal
  • bank

Для создания кода объектов области необходимо создать файлы шаблонов пользовательского кода. В файлах шаблонов пользовательского кода содержатся необходимые атрибуты и методы, создаваемые в виде исходных файлов.

После создания файлов шаблонов необходимо выполнить отображение пар "элемент-стереотип" на соответствующие файлы шаблонов в процессе создания кода. Шаблон области обеспечивает отображение типа и стереотипа элемента модели на один или несколько файлов шаблона.

Окно "UML Template Options" позволяет создавать папки категорий в соответствии с необходимостью, а затем добавлять к этим категориям шаблоны области. Способ организации категорий и шаблонов области зависит от разработчика, однако необходимо следовать структуре, созданной в диспетчере шаблонов NetBeans, где выполняется доступ к файлам шаблонов.

Включение шаблонов областей для проектов UML в окне "UML Template Options"

После создания шаблонов областей их необходимо включить или отключить для отдельных проектов UML. Для каждого проекта UML автоматически включены шаблоны областей Java по умолчанию. Однако шаблоны областей, самостоятельно созданные на экране "UML Template Options", по умолчанию для проектов UML не включаются.

Для индивидуальной настройки включенных шаблонов в проектах UML служит средство индивидуальной настройки UML (в свойствах проекта).

Включение шаблонов области для проектов UML:

  1. Щелкните правой кнопкой мыши узел проекта UML (имя по умолчанию – UMLBankAppSample-Model).
  2. Выберите "Properties" для открытия средства индивидуальной настройки UML.
  3. В открывшемся диалоговом окне индивидуальной настройки выберите категорию "Code Generation".
  4. Разверните узел "Java" на нижней панели.

Значение окна "Project Properties" и приемы работы с ним

В этом примере поле "Target Project" не заполнено. Это связано с тем, что проект UML был получен путем обратного проектирования из проекта Java UMLBankAppSample.

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

Использование окна "Project Properties":

  1. Нажмите кнопку "OK" для сохранения свойств без указания целевого проекта. (Этот же интерфейс пользователя выводится позже в последовательности выполняемых действий для диалогового окна "Generate Code", однако на том этапе перед нажатием кнопки "OK" должны быть заполнены все обязательные поля, в т.ч. "Target Project").
  2. Разверните узел "Java" на панели "Templates" в нижней части экрана и обратите внимание на три шаблона области по умолчанию:
    • Basic Class,
    • Basic Interface,
    • Basic Enumeration.
  3. Создание кода для некоторых элементов в отдельных шаблонах можно отключать. Например, если не требуется создавать код для элементов "Enumeration", не имеющих стереотипа в модели, можно отменить выбор этого шаблона области в окне "Properties".
  4. Если добавлялись собственные шаблоны области, в это окне их можно включить в процесс создания кода. Все эти параметры также доступны для оперативной настройки при вызове процесса создания кода; предполагается, что включен параметр "Prompt Before Generating Code" в средстве индивидуальной настройки проекта "Project Customizer". (По умолчанию этот параметр используется.)

Создание кода на основе модели

После подготовки и включения всех необходимых для проекта UML шаблонов области можно приступить к создания кода из модели. Для этого необходимо выполнить следующие действия:

  1. Щелкните правой кнопкой мыши узел проекта UML и выберите действие "Generate Code". Открывается диалоговое окно "Generate Code", в котором можно подтвердить правильность настройки свойств. По умолчанию панель "Templates" скрыта.
  2. Нажмите кнопку "Show Templates" для вывода шаблонов области, как показано на рисунке.
  3. Для запуска процесса создания кода нажмите кнопку "OK". Сообщения выводятся в окне "Output" NetBeans на вкладке с названием "Generate Code Log". В нем же отражается состояние процесса создания кода. Просмотрите эти сообщения и убедитесь в правильности создания кода.

В следующем разделе используются шаблоны EJB, созданные путем упрощения имеющихся шаблонов Java. Последовательность действий по созданию этих шаблонов не приводится, однако готовые упрощенные шаблоны более просты для изучения, чем шаблоны Java.

Создание пользовательских шаблонов Enterprise Java Bean 3.0

После настройки стандартных шаблонов кода Java для создания кода Java из проектов UML на основе индивидуальных шаблонов можно создавать исходные файлы для артефактов приложений, например, типичных EJB сеанса без состояния.

Создание надежных шаблонов создания кода может оказаться непростой задачей. Для упрощения обучения применению собственных шаблонов в архиве дистрибутива предоставляются три шаблона создания кода, необходимые для EJB сеанса без состояния. Эти шаблоны не являются законченными решениями для создания EJB сеанса без состояния. Они позволяют только создавать класс компонента и домашний и удаленный интерфейсы, если установлены соответствующие теги, для чего применяются методы элемента "Class".

Законченная реализация предоставляет возможность указания стереотипа каждой отдельной операции как локальной и/или удаленной, что позволяет определить интерфейс, на котором должно выполняться объявление операции.

Получение и добавление в среду IDE шаблонов создания кода

Для добавления в среду IDE шаблонов создания кода необходимо загрузить их и добавить в среду IDE с помощью диспетчера шаблонов:

  1. Убедитесь в том, что исходный код, предоставленный вместе с этой статьей, распакован, и получены следующие шаблоны:
    • StatelessBean.flt
    • StatelessRemote.ftl
    • StatelessLocal.ftl
  2. Добавьте эти шаблоны в среду IDE. Выберите "Tools > Templates" в главном меню. Откроется диспетчер шаблонов NetBeans.
  3. Перейдите к папке UML/Code Generation и выберите ее.
  4. Нажмите кнопку "New Folder" и назовите папку "EJB 3.0".
  5. Нажмите кнопку "Add".
  6. Перейдите к каталогу, в который были распакованы файлы шаблонов.
  7. Выберите один из файлов для добавления в среду IDE.
  8. Повторите действия 5-7 для двух оставшихся файлов шаблонов.
  9. Выберите все три шаблона. Нажмите кнопку "Open in Editor". Новые файлы шаблонов откроются в окне редактора NetBeans.
  10. Просмотрите сценарии шаблона для выяснения выполняемых ими действий. Эти три файла шаблонов были созданы путем объединения трех различных файлов шаблонов, использовавшихся для создания классов Java; объединение выполнено в целях повторного использования сценариев. Объединение сценариев в один шаблон упрощает восприятие логики построения сценария.

    Здесь снова используются три базовых шаблона по умолчанию. Это следующие шаблоны:

    • DeclLib.ftl
    • CompilationUnit.java
    • NormalClassDeclaration.java

Файлов шаблонов три, поскольку в проекте UML один элемент модели используется для создания трех разных файлов исходного кода, и для каждого создаваемого исходного файла должен существовать по крайней мере один файл шаблона: один файл шаблона напрямую используется одним модельным элементом для создания одного исходного файла.

В случае стандартных типов Java для создания одного исходного файла каждым типом используется файл шаблона CompilationUnit.java, который ссылается на другие файлы шаблонов (DeclLib.ftl и один из оставшихся трех файлов *Declaration.java).

Создание шаблонов для EJB

В архивном файле содержатся три шаблона, позволяющие создавать EJB. При работе с этими шаблонами три разных файла шаблона непосредственно используются одним элементом модели для создания трех исходных файлов.

На следующем рисунке проиллюстрированы различия во взаимоотношениях между стандартным процессом создания кода классов Java и процессом создания класса компонента EJB.

На рисунке ниже показаны следующие составляющие:

  • В модель входят три элемента: "Class", "Interface" и "Enumeration".
  • Для каждого элемента "Class" устанавливается использование шаблона области "Basic Class" (любой элемент "Class" без стереотипа), который в свою очередь использует файл шаблона CompilationUnit.java.
  • Сценарий в файле шаблона CompilationUnit.java определяет, что этот элемент имеет тип "Class" и создает ссылку в шаблоне NormalClassDeclaration.java для выполнения особой создания кода класса Java.
  • Аналогичным образом в случае элементов типа "Interface" или "Enumeration" сценарий в CompilationUnit.java определяет, что элемент имеет определенный тип, и создает ссылки в соответствующем шаблоне для обеспечения возможности создания особого кода для элементов Java, "Interface" или "Enumeration".

Отображение элементов класса без состояния

Элементы класса, стереотипированные как не имеющие состояния, отображаются на шаблон области "Stateless", содержащий три файла шаблона.

Из каждого файла шаблона создается отдельный исходный файл: один класс Java и два интерфейса Java. См. рисунок ниже.

Добавление новых шаблонов

После добавления новых шаблонов в среду IDE их необходимо добавить в качестве шаблонов области посредством окна "Options". Для этого необходимо выполнить следующие действия:

  1. В главном меню среды IDE выберите "Tools -> Options".
  2. Щелкните "Categories".
  3. Нажмите кнопку "Add" для добавления новой категории.
  4. Переименуйте категорию по умолчанию в "EJB 3.0".
  5. Нажмите кнопку "Add" для добавления новой области.
  6. Назовите область по умолчанию "Stateless".
  7. Выберите "Stateless".
  8. Выберите "Class" из раскрывающегося меню "Element type".
  9. Введите "stateless" в поле "Stereotype".
  10. Выберите "Add Templates".
  11. Внесите в диалоговое окно следующие предложенные значения:
    • Filename Format: {имя}Bean
    • Extension: .java
    • Folder: оставьте поле пустым, если не требуется создание файла в каком-либо месте.
    • Template File: EJB 3.0/StatelessBean.ftl
  12. Введите те же значения (за исключением имен) для оставшихся двух шаблонов.

Отображение шаблонов EJB

После добавления шаблонов в среду IDE и выполнения процедуры добавления на панели "Options" их необходимо поставить в соответствие элементам модели с помощью окна "UML options".

  1. В главном меню среды IDE выберите "Tools > Options".
  2. Щелкните категорию "UML options".
  3. Перейдите к вкладке "Templates".
  4. Разверните узел "EJB 3.0" в окне "Options".

В результате на экран будут выведены свойства шаблона области EJB. Как показано на следующем рисунке, под шаблоном области "EJB 3.0" указан шаблон области "Stateless" с типом элемента "Class" и стереотипом "stateless".

Выходных параметра три: "Bean", "Local" и "Remote", расширение каждого из них – .java

Несколько шаблонов области для одного элемента модели

На один элемент модели может быть отображено несколько шаблонов области. Например, шаблон области "Basic Class" в категории "Java" может быть отображен на любой элемент типа "Class" без стереотипа.

Можно также создать другую категорию "C++" с шаблоном области, также называемым "Basic Class" (или с любым другим именем), тоже отображаемую элементы типа "Class" без стереотипа. При этом из файла шаблона будет создаваться класс C++, а не Java.

Если на момент вызова действия "Generate Code" включены оба шаблона, из одного элемента будут получены два файла: один класс Java и один класс C++. Несмотря на то, что последний пример можно считать исключительным случаем, он все же возможен.

Создание EJB сеанса без состояния "Calculator"

После создания шаблонов в NetBeans и настройки шаблона области можно создать проект модели UML, использующий для создания кода компонента уровня предприятия на Java новый шаблон.

После создания проекта модели UML необходимо создать элемент "Calculator" и добавить в него методы.

В первую очередь следует создать проект UML:

  1. Выберите в главном меню "File > New Project".
  2. Выберите "UML", затем выберите "Java Platform Model".
  3. Нажмите кнопку "Next", а затем кнопку "Finish".
  4. В открывшемся диалоговом окне "Create Diagram" выберите "Class Diagram" и нажмите кнопку "Finish". В результате создается проект UML с одной диаграммой классов.

Затем создадим элемент "Calculator". Создание элемента "Calculator":

  1. Добавьте на диаграмму один элемент "Class" и назовите его Calculator (использование шаблонов обеспечивает правильное создание суффиксов, т.е. для соответствующих имен исходных файлов создаются "Bean", "Local" и "Remote").
  2. Выберите элемент Calculator, измените свойство "Stereotype" и добавьте "stateless".

После этого в процессе создания кода элемент Calculator определяется для отображения на шаблон области "Stateless". Однако перед созданием кода к элементу Calculator необходимо добавить ряд методов.

Добавление методов к элементу "Calculator"

Создайте три операции, приведенные ниже для элемента Calculator в редакторе диаграмм UML. Для создания операции щелкните правой кнопкой мыши элемент Calculator в области "Operation" и выберите "Add Operation". Добавьте следующие операции:

  • public int add(int a, int b)
  • public int subtract(int a, int b)
  • public int multiply(int a, int b)

Вероятно, не все из этих трех методов должны быть представлены в обоих интерфейсах. В интерфейсах можно объявлять только общедоступные методы, так что если представление всех этих методов не требуется, не общедоступные методы необходимо отфильтровать.

Кроме того, некоторые из общедоступных методов могут быть объявлены только в одном интерфейсе, или не объявлены вовсе. В сценарии требуется механизм определения методов, создаваемых для каждого из этих трех исходных файлов. Для выбора добавляемых методов снова можно воспользоваться стереотипами.

Создание проекта Java

Теперь элемент Calculator закончен, и необходимо создать проект Java, в котором будет создан код. Для этого необходимо выполнить следующие действия:

  1. Выберите в главном меню среды IDE "File > New Project".
  2. Выберите "Java, Java Application" и нажмите кнопку "Next".
  3. На странице "Choose Project" выберите "Java and Java Application".
  4. Снимите флажок "Create Main Class" и нажмите кнопку "Finish".
  5. Щелкните правой кнопкой мыши элемент Calculator и выберите "Generate Code".
  6. Выберите созданный проект Java в качестве целевого ("Target Project").
  7. Нажмите кнопку "Show Templates" и разверните узел дерева "EJB 3.0".
  8. Щелкните шаблон области "Stateless". Нажмите кнопку "OK" для запуска процесса создания кода.

В окне "Output" выводятся сообщения с информацией о том, что для создания кода для элемента Calculator были использованы три разные файла шаблона.

По завершении процесса создания кода разверните папку исходного кода проекта Java и проверьте новые исходные файлы Calculator. Созданы три файла:

  • CalculatorBean.java
  • CalculatorLocal.java
  • CalculatorRemote.java

Откройте каждый из файлов и убедитесь в том, что созданы все три метода в классе и оба интерфейса. Возможен вывод ошибок компиляции или иных ошибок, поскольку в стандартный проект Java автоматически не включается библиотека "Java Enterprise" или другие классы. Эти сообщения об ошибках можно проигнорировать, поскольку компиляция или запуск созданного проекта не входит в задачи данного руководства.

Наблюдение изменений, вносимых в редакторе диаграмм, в создаваемом коде

Синхронизацию создаваемого кода с элементом Calculator можно отслеживать по мере внесения изменений в элемент в редакторе диаграмм. В редакторе диаграмм:

  1. Добавьте новую операцию:
        public float divide(int a, int b)
        
  2. Удалите операцию "multiply".
  3. Добавьте к операции "add" третий параметр.
        int c
        
  4. Щелкните правой кнопкой мыши элемент "Calculator" и выберите "Generate Code".

Изучите эти три исходных файла аналогично новым исходным кодам ранее; обратите внимание, что все они обновлены и синхронизированы с изменениями, внесенными в элемент "Calculator" в редакторе диаграмм.

Заключение

Среда создания сценариев Freemarker представляет собой мощное дополнение к средствам создания кода UML NetBeans и позволяет индивидуально настраивать создаваемый код. В статье приведены основные понятия и обучающая информация по созданию, добавлению и индивидуальной настройке шаблонов создания кода в целом и кода артефактов EJB в частности. Шаблоны создания кода позволяют задействовать возможности шаблонов в рамках инфраструктуры создания кода UML NetBeans и поддерживать исходный код множества исходных файлов путем изменения небольшого количества элементов. Индивидуально настроенные шаблоны создания кода предоставляют простой и эффективный способ создания кода, который может применяться в разрабатываемых проектах приложений.

Что дальше?

  • Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних изменениях в функциональных возможностях разработки на UML в среде IDE NetBeans можно через список рассылки .


наверх

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems