Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code



Documents pareils
TP1. Outils Java Eléments de correction

Programmer en JAVA. par Tama

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Environnements de développement (intégrés)

Une introduction à Java

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

TP1 : Initiation à Java et Eclipse

Premiers Pas en Programmation Objet : les Classes et les Objets

as Architecture des Systèmes d Information

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

RMI le langage Java XII-1 JMF

Introduction aux concepts d ez Publish

Optimiser moteur recherche

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Java Licence Professionnelle CISII,

Serveur d'archivage 2007 Installation et utilisation de la BD exist

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Programmation par les Objets en Java

Web Tier : déploiement de servlets

Généralités sur le Langage Java et éléments syntaxiques.

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

INITIATION AU LANGAGE JAVA

Programmation en Java IUT GEII (MC-II1) 1

Gestion Electronique de Document (ECM/GED)

Java Licence professionnelle CISII,

Développons en Java 1007

REFERENCEMENT NATUREL

Langage Java. Classe de première SI

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Plan du cours. Historique du langage Nouveautés de Java 7

Comment rédiger et publier une Newsletter

Initiation à JAVA et à la programmation objet.

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Héritage presque multiple en Java (1/2)

Réaliser un ing avec Global Système

Manuel Utilisateur. Boticely

Publier un Carnet Blanc

Module Criteo Tags et Flux pour Magento

Java Licence Professionnelle CISII,

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Chapitre 10. Les interfaces Comparable et Comparator 1

Bernard Lecomte. Débuter avec HTML

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Introduction à Eclipse

Cours 1: Java et les objets

HTML. Notions générales

TP SIN Programmation sur androïde Support : eclipse

Comment utiliser WordPress»

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Publier dans la Base Documentaire

Auto-évaluation Programmation en Java

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

La base de données XML exist. A. Belaïd

Création d un service web avec NetBeans 5.5 et SJAS 9

Génie Logiciel avec Ada. 4 février 2013

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Manuel d'utilisation du site Deptinfo (Mise en route)

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

4. Groupement d objets

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

TD3: tableaux avancées, première classe et chaînes

JavaServer Pages (JSP)

Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer.

Bases Java - Eclipse / Netbeans

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

Editer un script de configuration automatique du proxy

Introduction au langage Java

Programmation Web TP1 - HTML

OUTIL DE TRAVAIL COLLABORATIF

Diagramme de classes

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Comment intégrer des images dans un texte

Projet en nouvelles technologies de l information et de la communication

PLAN. Qui peut faire quoi? Présentation. L'internaute Consulte le site public

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Chapitre I Notions de base et outils de travail

Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus

SOMMAIRE. 1. Comprendre les bases - référencement, indexation et positionnement - comment fonctionne Google pour indexer et référencer un site?

Manuel d utilisation du site web de l ONRN

Manuel de mise en page de l intérieur de votre ouvrage

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Corrigé des exercices sur les références

PROGRAMMATION PAR OBJETS

Thème : Création, Hébergement et référencement d un site Web

Transcription:

Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes (/**... */) On peut ainsi documenter n paquetages n classes ou interfaces n variables d'instance n méthodes Sauf pour les paquetages, les commentaires doivent être placés juste avant ce qu'ils commentent javadoc Richard Grin page 2 Format des commentaires Les commentaires peuvent contenir n du texte simple n des tags HTML de mise en forme de texte (italique, caractère gras, caractères à espacement fixe, ) ; un tag bien utile est <code> (et </code>) pour inclure du code dans les commentaires n des tags spéciaux à javadoc, qui commencent par le caractère @ : @author, @version, @param, Format des commentaires Il est possible de passer à la ligne pour couper les lignes trop longues ; javadoc ignore les «*» placés en début de ligne javadoc Richard Grin page 3 javadoc Richard Grin page 4 Caractères spéciaux Les caractères liés à HTML comme «<» ou «>» sont interprétés spécialement par javadoc «<» doit être écrit «<» dans la javadoc Depuis le JDK 5.0 le tag @literal permet d insérer plus facilement les caractères spéciaux ; par exemple {@literal A<B>C} sera affiché «A<B>C» par la javadoc {@code A<B>C} fait la même chose en ajoutant la police de caractères du tag HTML <code> Insérer du code Si le code à insérer fait plusieurs ligne il faut utiliser à la fois {@code et la balise HTML <pre> : <pre>{@code...... }</pre> javadoc Richard Grin page 5 javadoc Richard Grin page 6 1

Insérer une référence Les tags @see et @link permettent d insérer une référence vers une autre partie de la documentation ou même vers une autre documentation quelconque @see ajoute une entrée dans la section «See also» de la documentation @link insère un lien vers une autre partie de la javadoc Plusieurs formats peuvent être utilisés pour indiquer ces références javadoc Richard Grin page 7 Formats pour les références (1) chaîne de caractères quelconque : la chaîne sera affichée telle quelle dans la javadoc Exemple : @see "The Java Programming Language" <a href="url#ancre">label</a> : lien vers une adresse Web (adresse absolue ou relative) Exemple : @see <a href="spec.html#section">java Spec</a> javadoc Richard Grin page 8 Formats pour les références (2) package.classe#membre label : lien vers un autre endroit de la javadoc (ou vers une autre javadoc si l option -link est utilisée au lancement de la commande javadoc n Le texte du lien sera «label» n Remarquez le # à la place d'un «.» entre le nom de la classe et le nom de la méthode Formats pour package.classe#membre Le membre peut être un constructeur, une méthode ou une variable d instance On peut aussi désigner une classe par package.classe, ou une classe interne par package.classe.classeinterne (ne jamais omettre la classe englobante, même si le commentaire est dans la classe englobante) On peut aussi désigner un paquetage : @see fr.unice.truc javadoc Richard Grin page 9 javadoc Richard Grin page 10 Formats pour package.classe#membre Si la classe appartient au paquetage de la classe documentée ou si la classe est importée, on peut omettre le nom du paquetage : @see Classe Si le membre appartient t à la classe qui est documentée, on peut omettre package.classe : Utilisez la méthode {@link #getcomponentat(int, int) getcomponentat}. Si la méthode n est pas surchargée, le nom de la méthode suffit ; sinon il faut indiquer sa signature Section «see also» @see crée une entrée dans la section «see also» de la documentation Exemples : n @see java.lang.integer#parseint label n @see <a href=" ">label</a> (si le 1er caractère est "<", c'est un lien HTML) n @see "texte quelconque" javadoc Richard Grin page 11 javadoc Richard Grin page 12 2

Exemple de @see @see "The Java Programming Language" @see <a href="spec.html#section">java Spec</a> Pour désigner des méthodes de la classe ou d une autre classe : Pour les méthodes n @see equals surchargées n @see String#equals(Object) equals Les classes sont cherchées dans le classpath Le label qui sera affiché Liens entre commentaires {@link nom-classe#membre label} permet de placer un lien n'importe où dans la documentation (ne pas oublier les accolades) Exemple : Utilise la méthode {@link #getcomponentat(int, int) getcomponentat}. @linkplain a une syntaxe identique à @link mais le label est affiché dans la police de caractères du texte ordinaire et pas dans la police du code javadoc Richard Grin page 13 javadoc Richard Grin page 14 Commentaires @since @since permet d'indiquer une version depuis laquelle ce qui est commenté a été introduit Exemple : @since JDK1.1 javadoc Richard Grin page 15 Commentaires de classe et d'interface @param <E> description de ce que représente le paramètre de type <E> (depuis le JDK 5.0) @author nom indique l'auteur (plusieurs fois si plusieurs auteurs) @author texte indique le ou les auteurs en utilisant le texte @version texte précise la version Ces 2 tags ne sont utilisés dans la documentation que si on donne les options -author et -version de la commande javadoc javadoc Richard Grin page 16 Commentaires de méthodes Tous les tags de même type doivent se suivre Les descriptions peuvent s'étaler sur plusieurs lignes @param paramètre description documente un paramètre de la méthode @param <T> description documente un paramètre de type <T> de la méthode (ne pas omettre les < et >) @return description documente ce que retourne la méthode @throws classe_exception description documente une exception (on peut aussi utiliser @exception) javadoc Richard Grin page 17 Résumé de commentaire La première phrase du commentaire d un membre d une classe constitue le résumé du commentaire Ce résumé est affiché dans la section «résumé» Le reste peut être vu en suivant le lien de la section résumé La «première phrase» se termine n par un point suivant d un espace ou d une fin de ligne n ou par un tag javadoc comme @param ou @return javadoc Richard Grin page 18 3

Exemple de documentation de méthode /** * Returns the character at the specified index. An index * ranges from <code>0</code> to <code>length() - 1</code>. * * @param index the index of the desired character. * @return the desired character. * @throws StringIndexOutOfRangeException * if the index is not in the range <code>0</code> * to <code>length()-1</code>. * @see java.lang.character#charvalue() */ public char charat(int index) { javadoc Richard Grin page 19 Héritage des commentaires Si la méthode d une classe n a pas de commentaire, elle hérite automatiquement des commentaires de la méthode qu elle redéfinit ou implémente (s ils existent) Avant la version 5 de java, si la méthode ajoutait un commentaire, il fallait ajouter «{@inheritdoc}» pour demander cet héritage des commentaires Depuis la version 5, s ils manquent, les commentaires pour une méthode, un paramètre, la valeur retour ou une exception sont hérités automatiquement de la classe mère ou de l interface implémenté ou hérité javadoc Richard Grin page 20 Commentaires de paquetage Ils doivent être placés dans un fichier nommé package-info.java placé dans le répertoire des fichiers source du paquetage, avec les fichiers.java Avant le JDK 5.0, le fichier devait s appeler package.html ; le JDK 5.0 accepte un des 2 fichiers (mais pas les 2) Les contenus de package-info.java et de package.html diffèrent package.html C est un fichier html ordinaire Tout ce qui est entre <BODY> et </BODY> se retrouve dans la documentation La 1ère phrase (jusqu'à un ".") doit être un résumé de ce que contient le paquetage Exemples de tags utilisables dans le corps du fichier html : @see, @since, @link javadoc Richard Grin page 21 javadoc Richard Grin page 22 Exemple de package.html <html> <body> Ce paquetage.... @since 1.1 </body> </html> package-info.java Il ressemble à un commentaire javadoc habituel La 1ère phrase (jusqu'à un ".") doit être un résumé de ce que contient le paquetage Exemples de tags utilisables dans le corps du fichier html : @see, @since, @link javadoc Richard Grin page 23 javadoc Richard Grin page 24 4

Exemple de package-info.java /** * Ce paquetage.... * <p> *... * (voir la classe {@link truc.classe1}) *... * @since 1.1 * @see java.awt */ package truc.machin; Commentaires généraux De même, un fichier de nom quelconque (typiquement un fichier placé à la racine des fichiers source et nommé overview.html) peut être placé dans le répertoire parent de tous les fichiers source ; ce fichier contient t des commentaires sur tout le code Le contenu de ce fichier sera affiché quand l'utilisateur cliquera sur le lien «Overview» de la documentation si on génère la documentation avec l option «overview nom-fichier.html» javadoc Richard Grin page 25 javadoc Richard Grin page 26 Fichiers annexes Si la documentation d un paquetage utilise des fichiers annexes, par exemple des images, on doit les placer dans un répertoire nommé docfiles du paquetage Ces fichiers pourront être référencés par un nom relatif commençant par doc-files : /** * Image du bouton : * <img src="doc-files/bouton.gif"> */ javadoc Richard Grin page 27 Syntaxe de la commande javadoc [options ] [cheminssourcesclasses ] [nomspaquetages] Si on donne des noms de paquetages en paramètres, les fichiers sources doivent être dans un répertoire qui correspond au nom du paquetage L option sourcepath indique sous quel répertoire trouver les sources des classes des paquetages quand on donne nomspaquetages ; elle n est pas utilisée si on donne cheminssourcesclasses Ce cours ne donne qu une petite partie de la syntaxe ; consultez la documentation officielle pour les compléments javadoc Richard Grin page 28 Options de la commande (1) Options (quelques options seulement) : n -d répertoire : indique le répertoire dans lequel mettre la documentation (répertoire courant par défaut) n -protected, -public, -package, - private : indique les membres et constructeurs qui apparaîtront dans la documentation (protected par défaut) n -author, -version : l auteur et la version seront affichés (par défaut, ils ne le sont pas) javadoc Richard Grin page 29 Options de la commande (2) n -link URLautreJavadoc : permet de faire des liens vers une autre documentation javadoc préexistante (on peut donner plusieurs options link) ; on peut donner un chemin relatif (tenir alors compte des chemins de destination de la javadoc) ou absolu n -sourcepath : indique où trouver les fichiers sources des paquetages dont on veut créer la documentation (par défaut, ils sont cherchés dans le classpath) n -classpath : comme pour les autres outils javadoc Richard Grin page 30 5

Options de la commande (3) n -use : génère un lien qui indique par qui est utilisé une classe ou un paquetage n -overview nom-fichier.html : indique un fichier qui donne une vision d ensemble du code du projet n plusieurs options pour donner des titres, entêtes ou pieds de pages à la documentation (voir documentation de Sun) Exemples javadoc -link http://wwwmips.unice.fr/java/jdk1.2/api fr.unice.toto.librairie javadoc Richard Grin page 31 javadoc Richard Grin page 32 Option -linkoffline Il est possible que la javadoc d un paquetage ne soit pas accessible pendant l exécution de javadoc car javadoc a seulement besoin du fichier package-list placé avec la javadoc de l autre paquetage En ce cas, on peut remplacer l option link par une option «linkoffline urlexterne replistelocale» n urlexterne est l url qu on aurait donné à l option link n replistelocale est le répertoire où on a rangé le fichier package-list manquant, que l on a réussi à récupérer par un moyen ou par un autre javadoc Richard Grin page 33 Fichier package-list Le fichier package-list est généré automatiquement par javadoc ; il est placé dans le répertoire qui contient la javadoc générée par une commande javadoc unique Il contient les noms des paquetages dont le répertoire contient la javadoc Il est utilisé par javadoc pour faire les liens HTML qui référencent des éléments d un autre paquetage : quand il y a une option link, il utilise ce fichier pour savoir rapidement comment faire ces liens (il ne rentre pas dans les détails des fichiers associés à la javadoc extérieure) javadoc Richard Grin page 34 Problème avec les liens Si on génère séparément la javadoc de 2 paquetages p1 et p2 inter-dépendants, le fichier package-list n existera pas lors de la première exécution de javadoc et la javadoc de p1 n aura pas de liens vers p2 En ce cas, il faut lancer javadoc sur p1, puis sur p2, et encore une fois sur p1 javadoc Richard Grin page 35 6