Fabienne Boyer
Laboratoire LIG (INRIA-UJF-INPG)
http://sardes.imag.fr/~boyer
Usage des Annotations Java pour Javanaise V2!
2!© F. Boyer, UJF!Projet JAVANAISE!
"
Principes!
3 types de définitions des annotations!
!
Définition de lannotation (ex: classe Version)!
Définition des classes ou des interfaces annotées (ex: class
MyClass)!
Définition des classes traitant lannotation (ex: classe
GetVersion)!
!
3!© F. Boyer, UJF!Projet JAVANAISE!
Politiques de rétention!
Source!
!Ces annotations sont censées être traitées avant/pendant la phase de
compilation. Elles sont « perdues » après cette phase.!
!Java fournit un support pour traiter ce type dannotations (APT, Annotation
Processing Tool).!
!
Class "
Ces annotations sont présentes dans le fichier class, mais seront perdues
lors de lexécution (non présentes ni manipulables dans la VM).!
!
Runtime!
######Ces annotations sont présentes dans les classes chargées, donc accessibles
durant lexécution.!
!
##########!
4!© F. Boyer, UJF!Projet JAVANAISE!
"
Exemple de définition dune annotation (Fichier:
Version.java)!
package annotation.example; ;
import java.lang.annotation.*;
// Is the annotation available at execution time
@Retention(RetentionPolicy.RUNTIME)
// Annotation associated with a type (Classe, interface)
@Target(ElementType.TYPE)
public @interface Version {
String name();
}
5!© F. Boyer, UJF!Projet JAVANAISE!
"
Types déléments annotés!
@Target=TYPE !classe, une interface ou enum !
@Target=FIELD ! !attribut!
@Target=METHOD ! !!
@Target=PARAMETER !!
@Target=CONSTRUCTOR!
@Target=LOCAL_VARIABLE!
@Target=PACKAGE!
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !