Anotació (Java)

De Viquipèdia
Dreceres ràpides: navegació, cerca

En programació, una Anotació, és una manera d'afegir metadades al codi font Java que també poden ser accedides pel programador en temps d'execució. Molts cops es fa servir com una alternativa a la tecnologia XML.

Les anotacions Java poden ser afegides a elements de programa com ara classes, mètodes, camps, paràmetres, variables locals i paquets. A diferència dels tags afegits a la documentació Java i processats amb eines com ara XDoclet, les anotacions Java són completament accessibles pel programador mentre el programa està sent usat amb l'ús de reflection.

Història[modifica | modifica el codi]

Les anotacions Java van ser presentades a la Java Community Process com JSR-2002 i aprovades al setembre del 2004. Les anotacions estan disponibles des de la versió 1.5 de JDK. La funcionalitat va ser afegida al Llenguatge Java per l'especificació.

Procés[modifica | modifica el codi]

Quan es compila el codi Java, el compilador guarda les metadades de l'anotació als fitxers de classe. Després, la màquina virtual, pot buscar les metadades i així determinar amb els elements del programa o canviar el seu comportament.

Sintaxi[modifica | modifica el codi]

Declarar una anotació vol dir canviar les etiquetes que han estat afegides per comentar seccions al passat. Les anotacions tenen la forma d'una declaració d'interfície amb una @ precedint-la i opcionalment marcant-la amb meta-anotacions, com es mostra a continuació:

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})

Tant Retention com Target, són exemples d'anotacions.

Rebuda per la comunitat[modifica | modifica el codi]

Pros[modifica | modifica el codi]

Programació declarativa

Les anotacions permeten al programador declarar al seu codi font el comportament de l'aplicació. És un exemple de com elements de la programació declarativa poden ser afegits a un llenguatge orientat a objectes.

Contres[modifica | modifica el codi]

Rendiment

Afegir metadades a una execució afegeix càrrega addicional de memòria.

Manca d'estàndards

Hi ha pocs estàndards que marquin quines metadades haurien de ser usades.

Vegeu també[modifica | modifica el codi]

Referències[modifica | modifica el codi]