Annotation (java)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
NoFonti.svg
Este artigo ou se(c)ção cita uma ou mais fontes fiáveis e independentes, mas ela(s) não cobre(m) todo o texto (desde janeiro de 2014).
Por favor, melhore este artigo providenciando mais fontes fiáveis e independentes e inserindo-as em notas de rodapé ou no corpo do texto, conforme o livro de estilo.
Encontre fontes: Googlenotícias, livros, acadêmicoYahoo!Bing. Veja como referenciar e citar as fontes.

Annotation (representado pela inicial @), é um recurso da Plataforma Java, introduzido como padrão de linguagem na versão 1.5. (biblioteca java.lang.annotation*;).[1]

Descrição[editar | editar código-fonte]

Fornece a opção do uso de metadata ao longo do código que podem ser posteriormente interpretadas por um compilador ou pré compilador que irá realizar alguma tarefa pré definida.

O Annotation evita em muitos casos a criação de arquivos XML de configuração, que tornam tão difícil a compreensão de alguns sistemas. Além de ajudar na automatização de algumas tarefas, tais como a criação das interfaces do EJB e a criação das configurações dos WebServices.

Anterior a ele, esta funcionalidade não era nativa na plataforma, e uma função parecida a essa só era possível com o uso de uma API externa, o Xdoclet.

Algumas anotações[editar | editar código-fonte]

Existem atualmente mais de 60 anotações;

  • @Entity - Declara uma entidade do tipo relacional, como uma tabela, porém é uma classe java.
  • @Id - Define o identificador da tabela
  • @SequenceGenerator - Forma de auto incremento de determinado campo

Exemplo[editar | editar código-fonte]

  // @Twizzle é uma anotação do método ''toggle()''.
  @Twizzle
  public void toggle() {
  }
 
  // Declaração da anotação Twizzle.
  public @interface Twizzle {
  }

Anotações também podem incluir parametros e chaves:

  // Usado também: @Edible(value = true)
  @Edible(true)
  Item item = new Carrot();
 
  public @interface Edible {
    boolean value() default false;
  }
 
  @Author(first = "Oompah", last = "Loompah")
  Book book = new Book();
 
  public @interface Author {
    String first();
    String last();
  }

Associação[editar | editar código-fonte]

A relação de cardinalidade para as entidades é feita da forma tradicional, ou seja;

  • @OneToMany - 1 para muitos
  • @ManyToOne - Muitos para 1
  • @OneToOne - 1 para 1
  • @ManyToMany - Muitos para muitos

Referências

  1. Coward, Danny (2 de novembro de 2006). JSR 175: A Metadata Facility for the JavaTM Programming Language (em inglês) Java Community Process. Página visitada em 5 de março de 2008.