PowerAMC assure la prise en charge complète des annotations Java 5.0, qui permettent d'ajouter des métadonnées dans votre code. Ces métadonnées sont accessibles aux outils de post-traitement ou au moment de l'exécution afin de faire varier le comportement du système.
Vous pouvez utiliser des annotations intégrées, telles que celles répertoriées ci-après, et aussi créer vos propres annotations, à appliquer à vos types.
Il existe trois types d'annotations :
Annotations normales – elles peuvent accepter plusieurs arguments
Annotations à membre unique – elles n'acceptent qu'un seul argument, qui a une syntaxe plus compacte
Annotations marqueur – elles n'utilisent pas de paramètre et sont utilisées pour indiquer au compilateur Java les modalités de traitement spécifique d'un élément
PowerAMC supporte les sept annotations intégrées de Java 5.0 :
java.lang.Override - spécifie qu'une déclaration de méthode va redéfinir une déclaration de méthode effectuée dans une classe parent, et va générer une erreur à la compilation dans le cas contraire.
java.lang.Deprecated – spécifie qu'un élément est déprécié, et génère un avertissement à la compilation si elle est utilisée dans du code non déprécié.
java.lang.SuppressWarning – spécifie les avertissements à la compilation qui doivent être supprimés pour l'élément.
java.lang.annotation.Documented – spécifie que les annotations avec une déclaration de type doivent être documentées par javadoc et des outils similaires par défaut pour faire partie de l'API publique des éléments annotés.
java.lang.annotation.Inherited – spécifie qu'un type d'annotation est automatiquement hérité de la classe parent
java.lang.annotation.Retention – spécifie jusqu'à quel point les annotations sont conservées lors du traitement. Les valeurs possibles sont les suivantes :
java.lang.annotation.Target – restreint le type d'élément de programme auquel une annotation peut être appliquée et génère des erreurs au moment de la compilation. Peut avoir l'une des valeurs suivantes :
Pour obtenir des informations générales sur la modélisation de cette forme de métadonnée dans PowerAMC, voir Attributs (MOO).