Vous pouvez utiliser l'annotation @interface pour créer votre propre définition d'annotation.
Procédure
Utilisez l'annotation @interface pour spécifier votre propre définition d'annotation : - Les définitions d'annotation ressemblent aux définitions d'interface
- Les déclarations de méthode d'annotation n'ont ni paramètres ni clauses throws, et elles renvoient un des éléments suivants :
- primitifs
- chaîne
- classe
- énumération
- tableau de types mentionnés précédemment
- Les méthodes peuvent avoir des valeurs par défaut
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008")
public class MyClass{....}
Résultats
Méta-annotations: Les méta-annotations (annotations d'annotations) donnent des informations supplémentaires sur l'utilisation d'une annotation :
- @Target
- Limite l'utilisation d'une annotation
- Un seul argument ; doit provenir de l'énumération ElementType
- {TYPE, ZONE ,METHODE, PARAMETRE, CONSTRUCTEUR, VARIABLE_LOCALE, TYPE_ANNOTATION}
- @Retention
- Indique où les informations de l'annotation sont conservées
- Un seul argument ; doit provenir de l'énumération RetentionPolicy
- {SOURCE, CLASSE, EXECUTION}
- @Documented
- Marqueur des annotations qui doivent être incluses dans Javadoc
- @Inherited
- Marqueur pour les annotations de type dont les sous-types doivent hériter
Autres annotations intégrées :
- @Overrides
- Appliquée à une méthode
- Indique que le compilateur génère une erreur si la méthode ne remplace pas réellement une méthode de superclasse.
- @Deprecated
- Appliquée à une méthode
- Indique que le compilateur génère un avertissement lorsque la méthode est utilisée en externe
- @SuppressWarnings
- S'applique à un type ou à une méthode
- Indique que le compilateur supprime les avertissements pour cet élément et tous ses sous-éléments
@Deprecated
public void oldMethod() {...}
@SupressWarnings
public void yesIknowIuseDeprecatedMethods() {...}