corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Suporte aos processadores de anotação no NetBeans IDE, Parte I: Utilizando o projeto Lombok

O conteúdo desta página se aplica ao IDE NetBeans 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 os recursos, visite o website do projeto Lombok. Entretanto, tenha em mente que o projeto Lombok inclui alguns recursos 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 6.9, 7.0, 7.1
Java Development Kit (JDK) versão 6

Observações:

  • O suporte a processadores de anotações personalizadas foi adicionado na versão 6.9 do IDE NetBeans. 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 Aplicativo 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 padrão da classe. Clique em Terminar.
    " class="margin-around b-all">captura de tela do assistente Novo Projetocriando um novo projeto Java no NetBeans IDEpackage testann; public class MyBooks { private int year; //fields private String title; private String author; }
  4. Coloque o ponteiro do mouse na declaração da classe e pressione Ctrl-Espaço para criar o suporte de conclusão de código no editor.
  5. Selecione MyBooks (int year, String title, String author) - generate na lista de conclusão de código para gerar um construtor para MyBooks.java.
    captura de tela para a conclusão do código no editor
  6. Salve as alterações.

Habilitando anotações personalizadas (lombok.jar) para o projeto

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

  1. Efetue o 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 Add JAR/Pasta na aba Compilar e localize o arquivo lombok.jar baixado.
    captura de tela da categoria Bibliotecas na janela Propriedades

    Os recursos adicionados na guia Compilação 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 à classpath do projeto, que é a aba Compilação.

  5. Escolha a categoria Compilação na janela Propriedades do projeto.
  6. Confirme que a caixa de seleção Ativar o processamento de anotações esteja selecionada (ela é selecionada por padrão) e selecione a caixa de seleção Ativar o processamento de anotações no editor.
    captura de tela da categoria Compilação na janela Propriedades

    A caixa de verificação Habilitar processamento de anotação 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 verificação Habilitar processamento de anotação deve estar selecionada.

    Ao selecionar a caixa de seleção, Ativar o processamento de anotações no editor, o processamento de anotações ficará 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.

captura de 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 de declarar a classe MyBooks. @Data é uma anotação que gera o código clichê 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 dos recursos do Lombok.

  2. Clique na dica na margem direita do editor e adicione importar para lombok.Data.
    captura de tela da dica 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 clichês que são necessários para uma classe típica.

    captura de tela da janela Navegador

    É possível também invocar a janela de 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 de 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).

    Quando você executa o aplicativo, deverá ver a seguinte saída que mostra que o aplicativo foi compilado com êxito.

    captura de 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