17
1 Documentando con Javadoc

1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

Embed Size (px)

Citation preview

Page 1: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

1

Documentando conJavadoc

Page 2: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

2

Problema

➔ Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação.

➔ A documentação do Java pode ser acessada via Internet a partir do endereço: http://java.sun.com/javase/6/docs/api/

➔ Javadoc: Quadro superior esquerdo: pacotes Quadro inferior esquerdo: classes e interfaces. Quadro da direita: detalhes do que foi escolhido. Métodos e atributos privados não aparecem. Podemos gerar nossos próprios javadoc a partir da

linha de comando, usando o comando javadoc.

Page 3: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

3

Geração de Javadoc

➔ A partir do Eclipse Menu Project > Generate Javadoc Ou pelo export do projeto.

Page 4: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

4

Javadoc

O Javadoc é criado a partir de comentários delimitados por /** e */.

Linhas entre os delimitadores apenas precisam de um *.

Nos comentários podemos definir autor, versão, parâmetros, retorno, etc.

/** * Classe responsavel por moldar as Contas do Banco * * @author Guilherme * */public abstract class Conta {

Page 5: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

5

Javadoc

/** * Metodo que incrementa o saldo. * * @param valor */public void deposita(double valor) {

Page 6: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

6

Javadoc

Page 7: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

7

Comentários em Java

Comentários de linha Iniciam com duas barras consecutivas (//) e

continuam até o final da linha Comentários em bloco

Iniciam com a seqüência barra asterisco (/*) e encerram com a seqüência inversa asterisco barra (*/)

Podem se estender por mais de uma linha Comumente usa-se um asterisco no início de

cada linha que compõe o comentário

Page 8: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

8

Comentários em Java

//Exemplo de comentário de linha//Outra linha de comentário

/* Exemplo de comentário* em bloco que se estende por mais* de uma linha*/

/* Outro exemplo de comentárioem bloco */

Page 9: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

9

Documentação com Javadoc

➔ Sintaxe Possui um conjunto doc tags que são comandos

iniciados por @ e divididas em dois subconjuntos: Standalone doc tags devem estar no início de cada

linha In line doc tags podem aparecer em qualquer parte do

javadoc e devem vir entre chaves {...} Aceita HTML embutido.

Page 10: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

10

Documentação/** * Classe base responsável pelo armazenamento das* informações do cliente da loja. * @autor Fulano * @version 1.0 */public class Pessoa {

/** * Identidicador único do Cliente no sistema */private int id;.../** * Construtor ... */public Pessoa() {

...}/** * Fornece o identificador único do cliente * @return Número que identifica o clienete no sistema */public int getId(){

return id;}// ...

}

Page 11: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

11

HTML embutido

javadoc passa todo código HTML contido no comentário para o HTML gerado

Usado para formatar o comentário Exemplo:

/** * <pre> * System.out.println(new Date()); * </pre> */

/** * Você pode <b>inserir</b> listas: * <ol> * <li> Item um * <li> Item dois * <li> Item três * </ol> */

Page 12: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

12

doc tags

@see – faz referência à documentação de outra classe

@see nome-da-classe@see nome-completamente-qualificado@see nome-completamente-qualificado#nome-metodo

Gera o link “See Also” na documentação {@link} – semelhante à tag see, exceto pelo fato de

poder ser usada inline e permitir a adição de um rótulo

{@link nome-completamente-qualificado#nome-metodo rotulo}

{@docRoot} - fornece um path relativo para o diretório raiz da documentação gerada

/** * Veja o <a href="{@docRoot}/copyright.html">Copyright</a>. */

Page 13: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

13

doc tags

{@inheritDoc} – herda o comentário de uma superclasse dentro do comentário corrente

@version – informação sobre a versão da classe

/** * Insere as informações no Banco de Dados. {@inheritDoc} */ public void save(Pessoa pessoa)

/** * Classe responsável pela persistência das informações. * * @version 1.2 */ public class PessoaBD{ ... }

Page 14: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

14

doc tags

@author – informação sobre o autor da classe

@since – permite informar a versão do código a partir da qual um característica e suportada

/** * Classe responsável pela persistência das informações. * * @author Fulano da Silva * @author Beltrano da Silva */ public class PessoaBD{...}

/** * Insere as informações no Banco de Dados. * * @since 1.2 */ public void save(Pessoa pessoa)

Page 15: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

15

doc tags

@param – usada na documentação de métodos. Permite fazer uma descrição da lista de parâmetros de um método

@return – usada na documentação de métodos. Permite fazer uma descrição do retorno do método

/** * Insere as informações no Banco de Dados. * * @param pessoa Objeto que contém as informações * @param usuario Usuario responsável pela operação * @since 1.2 */ public void insert(Pessoa pessoa, Usuario usuario)

/** * Lista todos as pessoas cadastradas * * @return Uma lista formada por todas as pessoas cadastradas */ public List findAll(){...}

Page 16: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

16

doc tags

@deprecated – indica que o elemento relacionado será substituído por outro melhorado

/** * Insere as informações no Banco de Dados. * * @param pessoa Objeto que comtém as informações * @deprecated */ public void insert(Pessoa pessoa)

Page 17: 1 Documentando con Javadoc. 2 Problema Como saber quais classes podemos usar? Quais os seus métodos e o que eles fazem? Através de alguma documentação

17

Parte integrante do JDK

➔ Sinopse:javadoc [ options ] [ packagenames ] [ sourcefilenames ] [ @argfiles ]

options: Opções de linha de comando packagenames: lista de nomes de pacotes, separados por

espaço, que deverão ser documentados sourcefilenames: lista de nomes de arquivos, separados por

espaço. Javadoc processará todos os arquivos terminados com .java

@argfiles: um ou mais arquivos que contém opções Javadoc, lista de pacotes ou lista de arquivos fontes em qualquer ordem