« Programmation Java/Annotations » : différence entre les versions

Contenu supprimé Contenu ajouté
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 22 :
== Exemples ==
Exemple 1 :
<sourcesyntaxhighlight lang="java">
@Author(
name = "Moi",
Ligne 28 :
)
class MyClass() { }
</syntaxhighlight>
</source>
 
Exemple 2 :
<sourcesyntaxhighlight lang="java">
@Override
void uneMethode() { }
</syntaxhighlight>
</source>
 
== Annotations existantes ==
Ligne 59 :
 
Exemple 1 : pour supprimer les avertissements d'utilisations de méthodes obsolètes :
<sourcesyntaxhighlight lang="java">
@SuppressWarnings("deprecation")
void uneMethode() { methodeObosolete(); }
</syntaxhighlight>
</source>
 
Exemple 2 : pour supprimer les avertissements d'utilisations de méthodes obsolètes et d'utilisation de méthodes sans vérification de types (une version de la méthode avec types générique est préférable afin que le type d'élément soit vérifié) :
<sourcesyntaxhighlight lang="java">
@SuppressWarnings({"unchecked", "deprecation"})
void uneMethode()
Ligne 72 :
methodeObosolete();
}
</syntaxhighlight>
</source>
 
== Créer de nouvelles annotations ==
Ligne 84 :
 
Exemple de définition:
<sourcesyntaxhighlight lang="java">
@interface InfoClasse
{
Ligne 91 :
String[] references();
}
</syntaxhighlight>
</source>
 
Exemple d'utilisation:
<sourcesyntaxhighlight lang="java">
@InfoClasse( auteur="Moi", references={"Reference1","Reference2"} )
class UneClasse { }
</syntaxhighlight>
</source>
 
Cette nouvelle annotation peut elle-même être taguée avec des annotations du package <code>java.lang.annotation</code> indiquant l'utilisation qui en est faite.
Ligne 105 :
 
Correction de l'exemple précédent :
<sourcesyntaxhighlight lang="java">
@Documented
@interface InfoClasse
Ligne 113 :
String[] references();
}
</syntaxhighlight>
</source>
 
=== Informations disponibles à l'exécution ===
Ligne 119 :
 
Exemple :
<sourcesyntaxhighlight lang="java">
import java.lang.annotation.*;
 
Ligne 127 :
// Éléments d'information disponibles à l'exécution
}
</syntaxhighlight>
</source>
 
=== Restreindre l'utilisation d'une annotation ===
Ligne 135 :
 
Exemple :
<sourcesyntaxhighlight lang="java">
import java.lang.annotation.*;
 
Ligne 148 :
// Type = class/interface/enum
}
</syntaxhighlight>
</source>
 
== Accès aux annotations d'une classe ==
Ligne 155 :
 
Exemple :
<sourcesyntaxhighlight lang="java">
import java.lang.annotation.*;
 
Ligne 172 :
}
}
</syntaxhighlight>
</source>
 
== Références ==