Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Разрабатываем iDoc





Третий этап работы, подготовкой для которого были выбор инструментов и проектирование интерфейса, предполагает непосредственно создание генератора HTML-страниц. С этой целью нужно создать простой doclet, который может использоваться со стандартной утилитой javadoc от Sun. Для этого можно использовать пакеты java, однако iDoc также для всех файлов с исходным кодом может генерировать документацию. В частности, для исходного кода OpenJDK можно сгенерировать Javadoc, поскольку данная библиотека является общедоступной и имеет лицензию GPL V2 (GNU Public License).

Весь порядок генерирования Javadoc в iDoc состоит в интегрировании по списку пакетов и классов и предполагает вызов методов статического HTML в описанном ранее формате. В листинге 4 приведены методы вывода текста на итоговую страницу.

Листинг 4. Код doclet'a, генерирующий детальные HTML-страницы

private void printDetail(PrintStream p, ProgramElementDoc doc,

String id, String name) {

divHeader(p, id, name, "panel");

textHeader(p, null);

textRow(p, getSignature(doc));

textRow(p, getCommentText(doc.commentText()));

textFooter(p);

if (doc instanceof ExecutableMemberDoc) {

printMethodDetail(p, (ExecutableMemberDoc) doc);

}

divFooter(p);

}

 

private void printMethodDetail(PrintStream p, ExecutableMemberDoc field) {

if (field.parameters().length > 0) {

textHeader(p, "Parameters");

for (int i=0; i<field.paramTags().length; i++) {

textRow(p, "<b>" + field.parameters()[i].typeName() + " "

+ field.paramTags()[i].parameterName()

+ "</b>: "

+ getCommentText(field.paramTags()[i].parameterComment()));

}

textFooter(p);

}

if (field.throwsTags().length > 0) {

textHeader(p, "Throws");

for (int i=0; i<field.throwsTags().length; i++) {

textRow(p, "<b>" + field.throwsTags()[i].exceptionName()

+ "</b>: "

+ getCommentText(field.throwsTags()[i].exceptionComment()));

}

textFooter(p);

}

}

 

Приведенный код создан так, чтобы генерирование документации для классов, полей, конструкторов и методов осуществлялось с помощью метода printDetail (). Для конструкторов и методов, при этом, дополнительно выводятся данные о параметрах и исключениях, т.к. представлены они в виде объектов классов-наследников ExecutableMemberDoc.

Date: 2015-07-27; view: 297; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию