Fermer2
Pen^2Le 04/11/2010 à 18:37
Salut, les gens happy

J'ai besoin de documenter des implémentations d'interfaces JAVA.
J'ai donc créé une annotation @Documentation.

Or, il me semble que l'accès aux annotations n'est ni très élégant ni très fluide :
String fullName ; {
   Documentation d= instance.getClass().getAnnotation(Documentation.class) ;
   fullName= (d != null) 
             ? d.fullName()
             : "N/A" ;
}
=> Première question : est-ce que vous procéderiez bien comme ça ?



Du coup, je m'étais dit, on peut coder un accesseur dans la classe annotée :
@Documentation(fullName="huhuhu %)")
class MyClass
{
   private Documentation getDoc()
   {
      return this.getClass().getAnnotation(Documentation.class) ;
   }



   /**
    * @return le nom complet tel que décrit dans l'annotation, "N/A" sinon
    */
   public String getFullName()
   {
      Documentation d= getDoc() ;
      return (d == null)
             ? "N/A"
             : d.fullName() ;
   }
}


Mais ça me semble à l'encontre de l'idée des annotations (c'est censé ne pas être intrusif au niveau du code, non ?)
Et puis bon, si on en est à écrire des accesseurs, à la limite on a presque aussi vite fait d'ajouter un attribut fullName trioui



Bref, j'aimerais avoir votre avis là dessus...
Merci d'avance à tous smile