Архитектура Java для интерфейса API привязки XML (JAXB) упрощает доступ к документам XML из приложений, написанных на языке программирования Java. В этом документе показано, как среда IDE NetBeans 6.1 и 6.0 обеспечивает поддержку средств JAXB, преимущественно с помощью мастера, который преобразует различные типы документов XML в классы Java. С помощью файла WSDL будут созданы классы Java, над которыми затем будут выполнены некоторые операции.
В этом руководстве рассматриваются два специфических аспекта:
использование мастера в среде IDE для привязки схемы документа XML к множеству классов Java, представляющих схему;
применение различных средств, обеспечиваемых средой IDE для быстрого и эффективного использования созданных классов Java.
Цель этого упражнения состоит в создании проекта, а также объектов Java из документа XML.
Выберите "File > New Project". В области "Categories" выберите "Java". В области "Projects" выберите "Java Application" и нажмите кнопку "Next".
В поле "Project Name" введите JseSimpleClientReport и нажмите кнопку "Finish".
Щелкните правой кнопкой мыши узел JseSimpleClientReport и выберите "New > Other > XML > JAXB Binding". Затем нажмите кнопку "Next". Откроется мастер "New JAXB Binding".
Приведенные выше настройки, устанавливаемые в мастере, служат следующим целям:
Binding Name. Указывает имя новой привязки JAXB, которое будет использоваться для ее идентификации.
Project. Отображает имя текущего проекта.
Schema File. Файл, с которым будет осуществляться работа, может быть доступен локально или удаленно.
Schema Type. Поддерживаются следующие типы документов XML:
XML Schema
Relax NG
Relax NG Compact
XML DTD
WSDL
Package Name. Указывает пакет, для которого создаются объекты Java.
Compiler Options. Существует множество параметров компилятора, описанных в этом разделе в руководстве по Java EE 5. Но в мастере JAXB доступны только следующие параметры, которые можно установить с помощью флажков:
nv. Не выполнять строгую проверку достоверности входной схемы. По умолчанию перед обработкой выполняется строгая проверка достоверности исходной схемы. Это не означает, что во время привязки компилятор не выполняет никакой проверки достоверности; это просто означает, что производится менее строгая проверка.
readOnly. При этой настройке компилятор будет отмечать создаваемые исходные файлы Java как предназначенные только для чтения. По умолчанию компилятор не защищает от записи создаваемые исходные файлы Java.
npa. Подавляет создание аннотаций на уровне пакета в **/package-info.java. Использование этого переключателя приводит к тому, что создаваемый код встраивает эти аннотации в другие создаваемые классы.
verbose. Обеспечивает максимум выходных данных компилятора, например, информацию о ходе выполнения и предупреждения.
quiet. Подавляет выходные данные компилятора, такие как информация о ходе выполнения и предупреждения.
Use Extension. По умолчанию компилятор строго реализует правила, описанные в главе "Compatibility" спецификации JAXB. В стандартном (строгом) режиме также имеются ограничения на использование тех настроек привязки, которые определены в спецификации. При выборе этого параметра разрешается использовать расширения JAXB Vendor Extensions.
Use Binding File. Позволяет импортировать и изменять один или несколько файлов настройки привязки JAXB.
Use Catalog File. Позволяет импортировать и изменять файлы каталога OASIS.
Введите CreditReport в поле "Binding Name" и org.netbeans.j2ee.wsdl.creditreport в поле "Package Name".
Рядом с "Select From Local File System", нажмите кнопку "Browse" и перейдите к файлу WSDL, который был загружен в начале этого руководства.
В раскрывающемся списке "Schema Type" выберите "WSDL". Экран должен выглядеть следующим образом:
Нажмите кнопку "Finish".
Из указанного документа XML средой IDE автоматически создаются объекты Java. В следующем разделе исследуются объекты Java в среде IDE.
Исследование выходных данных мастера JAXB
Цель этого упражнения состоит в знакомстве со средствами среды IDE NetBeans для работы с мастером JAXB.
Аналогично другим элементам, которые IDE восстанавливаются средой IDE каждый раз при сборке проекта, объекты Java создаются в папке build. Откройте окно "Files", а затем просмотрите местоположение созданных объектов Java:
Как показано ниже, в окне "Projects" отображается новый узел, содержащий файл WSDL. Обратите внимание на то, что можно щелкнуть правой кнопкой мыши узел "CreditReport" и во вновь открывшемся мастере изменить параметры настройки, указанные ранее.
Также следует отметить, что для JDK 5 мастер поместил библиотеки JAXB по пути к классам приложения. В JDK 6 библиотеки JAXB предоставляет сам JDK, поэтому новые узлы к узлу "Libraries" не добавляются.
Предположим, что в мастере были изменены параметры настройки, и снова создадим объекты Java, как указано ниже:
Щелкните правой кнопкой мыши файл WSDL и выберите "Open". Документ открывается в редакторе с тремя вкладками: "Source", "WSDL" и "Partner". Выберите WSDL и обратите внимание на открывшееся визуальное представление, позволяющее быстро просмотреть и изменить файл WSDL.
После создания в среде IDE объектов на основе документа XML можно с помощью рассмотренных средств выполнить над созданными объектами Java ряд целесообразных операций.
Работа с объектами Java
Целью этого упражнения является выполнение важных операций с файлами и кодом, созданными в среде IDE. Необходимо установить несколько значений в одном из созданных объектов Java, а затем поместить его в окно "Output" среды IDE.
Откройте класс Main, созданный мастером "New Java Application".
В конструкторе объявите CreditReport, который является одним из созданных корневых классов JAXB:
public static void main(String[] args) {
CreditReport cr = new CreditReport();
}
Теперь для начала работы с объявлением просто введите "cr." и обратите внимание на то, что при нажатии комбинации клавиш Ctrl-Space среда IDE обеспечивает для артефактов JAXB соответствующее автозавершение кода:
Установите несколько значений для класса JAXB, например:
Введите в редакторе буквы "jaxbm". Эти буквы означают "JAXB Marshalling" (выстраивание в определенном порядке). Экран должен выглядеть следующим образом:
Появление красного подчеркивания обусловлено тем, что из введенных символов невозможно составить слово, которое являлось бы частью языка программирования Java. В действительности эти буквы формируют шаблон кода NetBeans, который будет использован в следующем действии. Связанный с ним шаблон кода называется "jaxbu", что означает "JAXB Unmarshalling" (без выстраивания в определенном порядке).
Нажмите клавишу Tab.
Символы "jaxbm" разворачиваются, и появляется фрагмент кода:
Щелкните правой кнопкой мыши любую часть тела кода и выберите "Fix Imports". К коду будут добавлены необходимые операторы импорта пакета. Все указания на ошибки должны исчезнуть.
Теперь следует воспользоваться различными средствами, предоставляемыми средой IDE для работы с JAXB в редакторе. Наше небольшое приложение готово к развертыванию.
Запустите приложение. В окне "Output" должно отобразиться следующее:
Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для Java EE с помощью среды IDE NetBeans можно в списке рассылки .