Suporte aos Processadores de Anotação no NetBeans IDE, Parte I: Utilizando o Projeto Lombok

O conteúdo desta página se aplica ao NetBeans IDE 6.9, 7.0 e 7.1

Para demonstrar como as anotações personalizadas funcionam dentro do NetBeans IDE, vamos usar o Projeto Lombok, que fornece uma forma conveniente de gerar automaticamente diversos elementos de código Java, tais como getters, setters, construtores e outros. Para maiores informações sobre suas funcionalidades, visite o website do projeto Lombok. Entretanto, tenha em mente que o Projeto Lombok inclui algumas funcionalidades que podem não funcionar em todos os ambientes de desenvolvimento.

Para concluir este tutorial, você precisa dos seguintes recursos e softwares.

Software ou Recurso Versão Necessária
NetBeans IDE 7.1, 7.2, 7.3
Java Development Kit (JDK) versão 6

Observações:

  • O suporte a processadores de anotações personalizadas foi adicionado na release 6.9 do NetBeans IDE. Este tutorial não funcionará com versões anteriores do IDE.

Criando um Novo projeto Java

Neste exercício você cria um projeto Java simples e uma classe denominada MyBooks.java que demonstra as anotações em ação.

  1. Escolha Arquivo > Novo Projeto e selecione Aplicação Java como o tipo de projeto.
  2. Na página Nome e Localização do assistente do Novo Projeto, digite TestAnn como nome do projeto.
  3. Digite testann.TestBooks no campo Criar Classe Principal para substituir o nome default da classe. Clique em Finalizar.
    tela do assistente Novo Projeto

    Quando você clica em Finalizar, o IDE cria a aplicação Java e abre a classe TestBooks.java no editor. Você pode ver que o novo projeto está agora visível na janela Projetos e que a classe TestBooks.java está no pacote testann sob o nó Pacotes de Código-fonte.

  4. Clique com o botão direito do mouse no nó do pacote testann na janela Projetos e escolha Novo > Classe Java.
  5. Digite MyBooks para o Nome da Classe e confirme que a classe será criada no pacote testann. Clique em Finalizar.

    Quando você clicar em Finalizar, o IDE abre a nova classe no editor.

  6. No editor de código-fonte, adicione os seguintes três campos em MyBooks.java.
    package testann;
    
    public class MyBooks {   
        private int year; //fields
        private String title;
        private String author;
    
    }
  7. Coloque o ponteiro do mouse na declaração da classe e pressione Ctrl-Espaço para chamar o suporte de autocompletar código do editor.
  8. Selecione MyBooks (int year, String title, String author) - generate na lista autocompletar código para gerar um construtor para MyBooks.java.
    tela do recurso autocompletar código no editor
  9. Salve as alterações.

Ativando Anotações Personalizadas (lombok.jar) para o Projeto

Neste exercício, você irá modificar a janela de propriedades do projeto para adicionar uma biblioteca à classpath do projeto e ativar o processamento de anotações no editor.

  1. Faça download do arquivo lombok.jar e salve no sistema.
  2. Clique com o botão direito no nó do projeto TestAnn e escolha Propriedades.
  3. Selecione a categoria Bibliotecas na caixa de diálogo Propriedades do Projeto.
  4. Clique em Adicionar JAR/Pasta na guia Compilar e localize o arquivo lombok.jar submetido a download.
    tela de categoria das Bibliotecas na janela Propriedades

    Os recursos adicionados à guia Compilar correspondem à opção -classpath do compilador Java. Como lombok.jar é um arquivo JAR único que contém definições de anotação e processadores de anotações, é recomendado adicioná-lo ao classpath do projeto, que é a guia Compilação.

  5. Escolha a categoria Compilação na janela Propriedades do Projeto.
  6. Confirme se a caixa de seleção Ativar o Processamento de Anotações está selecionada (ela é ativada por default) e selecione a caixa de seleção Ativar o Processamento de Anotações no Editor.
    tela de categoria de Compilação na janela Propriedades

    A caixa de seleção Ativar Processamento de Anotações ativa o processamento de anotação ao construir e compilar o projeto. Se a caixa de seleção não estiver selecionada, a opção -proc:none é passada para o compilador Java e a compilação ocorre sem qualquer processamento de anotações. Então, se deseja processar anotações no código, a caixa de seleção Ativar Processamento de Anotações deve estar selecionada.

    Ao selecionar a caixa de seleção, Ativar Processamento de Anotações no Editor, você faz com que o processamento de anotações fique visível no editor. Quaisquer artefatos adicionais que forem gerados por processadores de anotações (classes, métodos, campos, etc.) ficam visíveis no editor IDE e disponíveis para a conclusão de código, no Navegador, Ir para Tipo, Localizar usos e outros.

  7. Clique em OK na janela Propriedades do Projeto e retorne para o arquivo MyBooks.java.

Caso você expanda o nó Bibliotecas na janela Projetos, verá que a lombok.jar está agora listada como uma biblioteca do projeto.

tela da janela Projetos

Escrevendo uma Aplicação com a Utilização de Anotações Personalizadas Lombok

  1. No arquivo MyBooks.java, digite @Data antes da declaração de classe MyBooks. @Data é uma anotação que gera o código padronizado para classes Java: getters para todos os campos, setters para todos os campos não-finais e o toString apropriado, equals e implementações hashCode que envolvem os campos da classe.

    Para aprender mais sobre quais anotações são suportadas pelo Projeto Lombok, consulte a Visão Geral das Funcionalidades do Lombok.

  2. Clique na dica na margem direita do editor e adicione importar para lombok.Data.
    tela de dicas no editor

    O código resultante no Editor deve ser parecido com o exemplo abaixo.

    package testann;
    
    import lombok.Data;
    
    
    @Data
    public class MyBooks {
    
        private int year; //fields
        private String title;
        private String author;
    
        public MyBooks(int year, String title, String author) {
            this.year = year;
            this.title = title;
            this.author = author;
        }
    }

    Observe que artefatos de código necessários, como getters, setters, toString, etc., têm sido gerados e é possível visualizá-los na janela do Navegador. A anotação @Data gera todos os códigos padronizados que são necessários para uma classe típica.

    tela da janela Navegador

    É possível também chamar a janela autocompletar código (Ctrl-Espaço) e ver que os artefatos gerados estão disponíveis para pegá-los. Agora, veremos que o projeto compila e os artefatos gerados podem ser chamados de outras partes do programa.

  3. Abra o arquivo Testbook.java com o método main e crie um novo objeto da classe MyBooks.
    package testann;
    
    public class TestBooks {
    
        public static void main(String[] args) {
    
            MyBooks books = new MyBooks(2009, "My Beautiful Dream", "John Smith");
        }
    }
  4. Adicione o seguinte código para imprimir os valores da variável books.

    Para voltar os valores, chamamos os métodos getter que são autogerados por lombok.jar. Enquanto estiver digitando, observe que os artefatos autogerados estão disponíveis da janela autocompletar código.

    package testann;
    public class TestBooks {
        public static void main(String[] args) {
            MyBooks books = new MyBooks(2009, "My Beautiful Dream", "John Smith");
             System.out.println("Year: " + books.getYear() + ", Title: " + books.getTitle() +  ", Author: " + books.getAuthor());
        }
    }
  5. Salve as alterações.
  6. Clique com o botão direito do mouse no nó na janela Projetos e selecione Executar (F6).

    Ao executar a aplicação, você deverá ver a seguinte saída que mostra que a aplicação foi compilada com êxito.

    tela da janela Saída

Você pode ver que os artefatos gerados pelo processador de anotação Lombok estão acessíveis de outras partes do programa.

Próxima Etapa

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo