1

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

2

Finalement, je me demande si le mieux n'est pas de coder une méthode statique dans une classe utilitaire dans le même package que l'annotation... Comme ça, c'est pas lié au type annoté, et c'est codé une fois pour toutes.

3

(Oui, c'est exactement ce que j'allais proposer embarrassed)

4

Merci.
Great minds think pareil #modui#

Idéalement, j'aurais bien écrit ces quelques méthodes statiques dans l'annotation, mais c'est pas possible... cry

5

OK, merci Souane. J'ai testé tout à l'heure, et ça fonctionnait bien #modtop#

6

non, le but de l'annotation en effet c'est d'éviter d'écrire du code grin

donc tu te fais un new DocumentationAccessor qq part, avec une méthode getDocumentation(Class troklass);

au moins, je ferais comme ça , moi grin

7

Oué, c'est ce que Souane et Folco avaient évoqué en ./2 et ./3 #modui#

Merci d'avoir partagé ta vision des choses (qui, en plus, a le bon goût d'être la même que la mienne \o/)

8

9

huhuhu #modpo#

10

(Heureusement que Souane est ici pour les questions les plus techniques, quand même !)
avatar

11

|-(#modui#)-|

12

Wow, modtiefighter ! \o/
avatar

13

shhiizzzzz !! twiou, twiouuuuuuuu !

14

Ca me rappelle mes cours de maths de l'IUT !
avatar

15

Ah ? Ça devait être intéressant happy

16

Ouais, j'étais au premier rang, et je faisais des courses de pods/tie/*-wing avec des capuchons de stylos au travers d'obstacles estudiantins (ponts de gommes, de stylos, rochers en trousse...). L'option alternative était des combats de sabres lasers avec des Reynolds, dont la couleur figurait le personnage joué (mais mon binôme, qui était plus intéressé par moi par La Mathématique, a lâchement laissé de tomber nos duels :'()
avatar

17

Je pense qu'il se savait plus faible, c'est tout embarrassed

18

C'est pas faux (cela dit, il savait reconnaître la perfection de mon imitation des droïdes... "5 sur 5")
avatar

19

Oui, et pour rattraper le temps perdu après ça, tu lui demandais accès à ses annotations embarrassed

(vache, quel recentrage les aminches trilove)

20

(Tu n'as pas à recentrer, tu n'es même pas notre père !!!! embarrassed)

21

(sniff, le flop cry)

22

Bah en fait, Lapin compris, mais grave !
avatar

23

Idem, lièvre compris, super grave !

24

Rhoooo. Bon.

starwars => "Je suis ton père"
+
recentrage de Folco => caprice : "t'es même pas mon père vtff" (genre famille recomposée toussa trioui)


Bref, un flop, quoi embarrassed

25