Criando um Componente

Criando um componente e fazendo a documentação com o JavaDoc.
Primeiro passo, criar a classe e digitar os comentários. Quanto mais explicar os métodos, mais completo fica o doc da classe.


Classe DadosUsuario

    package com.br.coti.componentes.validacao;
    
    import java.io.Serializable;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    

/** * @author firminodoLar * @Version 1.0 * @since Projeto de validacao de dados Comuns */

public class DadosUsuario implements Serializable{
private static final long serialVersionUID = 1L; private String nome; private String email; private String sexo; public DadosUsuario() { } public DadosUsuario(String nome, String email, String sexo) { this.nome = nome; this.email = email; this.sexo = sexo; }

/** * O retorno de todos os Dados da Classe * O Valor do Objeto * @return String */

@Override public String toString() { return "DadosUsuario [nome=" + nome + ", email=" + email + ", sexo=" + sexo + "]"; }

/** * O retorno do Nome * @return String */

public String getNome() { return nome; }

/** * Alimenta o nome *@param String */

public void setNome(String nome) { this.nome = nome; }

/** * O retorno do Email * @return String */

public String getEmail() { return email; }

/** * Alimenta o email *@param String */

public void setEmail(String email) { this.email = email; }

/** * O retorno do Sexo * @return String */

public String getSexo() { return sexo; }

/** * Alimenta o Sexo *@param String */

public void setSexo(String sexo) { this.sexo = sexo; }

/** * Validacao se o nome possui letras e sua quantidade varia * de 2 a 50 *@return boolean */

public Boolean isNome(){ Pattern p = Pattern.compile("[a-z A-Z]{2,50}"); Matcher m = p.matcher(nome); return m.matches(); }

/** * Validacao se o email esta de forma Correta * @return boolean */

public Boolean isEmail(){ Pattern p = Pattern.compile(".+@.+\\.[a-z]+"); Matcher m = p.matcher(email); return m.matches(); }

/** * Validacao se o Sexo M ou F * @return boolean */

public Boolean isSexo(){ Pattern p = Pattern.compile("M|F|m|f"); Matcher m = p.matcher(sexo); return m.matches(); } }

Depois da classe documentada, criar o componente...
Clicar no projeto com o botão direito -> Export...

Java -> JAR File -> Next...

Marcar o projeto que irá ser exportado -> Finish...

No Explorer, foi criado o componente. Está pronto para ser usado...

Gerando o JavaDoc

O que é JavaDoc?

Javadoc é um gerador de documentação criado pela Sun Microsystems para documentar a API dos programas em Java, a partir do código-fonte. O resultado é expresso emHTML. É constituído, basicamente, por algumas marcações muitos simples inseridas nos comentários do programa. Este sistema é o padrão de documentação de classes em Java, e muitas dos IDEs desta linguagem irão automaticamente gerar um Javadoc em HTML. Ele também provê uma API para a criação de doclets e taglets, que permitem a análise da estrutura de um aplicativo Java. É assim, por exemplo, que o JDiff consegue gerar relatórios de alterações feitas entre duas versões de uma API.

Tags:

Os desenvolvedores usam certos estilos de comentários e tags Javadoc ao documentar códigos-fonte. Um bloco de comentário em Java iniciado com /** irá iniciar um bloco de comentário Javadoc, que será incluído no HTML gerado. Uma tag Javadoc começa com um "@" (arroba). Na tabela abaixo, algumas destas tags.

Para inserir o símbolo @ sem iniciar uma tag Javadoc você pode usar o código de caracter HTML @ e evitar problemas de parsing.

Tag Descrição
@author Nome do desenvolvedor
@category Você pode criar categorias para seus códigos, como “utilidades” ou “maipulação” ou “services”, etc
@deprecated Marca o método como deprecated. Algumas IDEs exibirão um alerta de compilação se o método for chamado.
@exception Documenta uma exceção lançada por um método — veja também @throws.
@link Possibilita a definição de um link para um outro documento local ou remoto através de um URL.
@param Define um parâmetro do método. Requerido para cada parâmetro.
@return Documenta o valor de retorno. Essa tag não deve ser usada para construtores ou métodos definidos com o tipo de retorno void.
@see Documenta uma associação a outro método ou classe.
@since Documenta quando o método foi adicionado a a classe.
@throws Documenta uma exceção lançada por um método. É um sinônimo para a @exception introduzida no Javadoc 1.2.
@version Exibe o número da versão de uma classe ou um método.
{@link XX} Cria um link para uma classe ou método, o nome da classe ou método deve ser colocado no lugar das letras “XX”

Ainda no mesmo projeto de componente, vamos gerar a documentação.
Clicar no Menu -> Project -> GenerateJavadoc...

Em "javadoc commando" indicar onde se encontra o JDK instalado na sua máquina.

Alterar o destino onde o arquivo será gravado -> next...

Colocar um nome pro documento -> next...

Conferir o JRE -> Finish...

No console..

Loading source files for package br.com.coti.voce.view...
Constructing Javadoc information...
Standard Doclet version 1.8.0_05
Building tree for all the packages and classes...
Generating...

Quando finalizado, ir na pasta indicada para criar o doc e abrir o índex.html...