Что такое xdoclet? (с точки зрения программиста на C) - PullRequest
2 голосов
/ 20 января 2009

Вопрос от C-парня, который должен работать с некоторым Java-кодом, который связан с моим C-кодом через JNI.

Я должен работать над системой сборки, и я пытаюсь изменить это с shell-скрипта на правильный make-файл. Для C-части это просто, но сторона java как-то связана с xdoclet.

Я еще не выяснил, что такое xdoclet, и я хочу все это понять.

Я провел исследование Google, но у меня нет представления о том, что делает эта штука. Мне кажется, что у вас есть шанс понять официальную документацию, только если вы уже знакомы с проблемой и у вас за плечами 10 лет работы в Java.

Не могли бы вы - для чайников - объяснить, что делает xdoclet?

Кстати, я также упомянул C. Я тоже занимаюсь объектно-ориентированным программированием. Нет необходимости объяснять мне основы классов или наследования (если это необходимо для понимания xdoclet).


Редактировать: Примерно десять лет назад для ИТ-специалистов я задавал этот вопрос. Я до сих пор не знаю, что такое xdoclet, но вопрос получил более тысячи просмотров. Я хотел бы видеть какого-нибудь парня из java, который вмешался бы и наконец все прояснил.

1 Ответ

5 голосов
/ 20 января 2009

10000-футовый обзор XDoclet заключается в том, что это механизм генерации кода. ИМО, интересная вещь о XDoclet - как делает то, что делает, в отличие от что делает.

Существует инструмент под названием javadoc, который принимает аннотации в комментариях к исходному коду и генерирует HTML-документацию с ним. Это классический пример того, для чего изначально был создан Javadoc. Стремясь поддерживать различные форматы вывода, авторы javadoc сделали его подключаемым - вы можете написать « doclets », который подключается к движку javadoc. Это позволяет им использовать один и тот же синтаксический анализатор исходного кода и генерировать различный вывод документации.

XDoclet - умный взломщик, использующий этот движок для генерации кода вместо генерации документации.

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

EDIT: Как отмечает erickson , в Java 5 добавлена ​​поддержка аннотаций в качестве языковой функции, которая может обрабатываться непосредственно компилятором. В результате функциональность, которую XDoclet использовал для обеспечения, теперь может выполняться непосредственно с помощью инструмента обработки аннотаций (apt), который поставляется вместе с JDK. Из-за этого XDoclet теперь считается устаревшим.

...