Est-ce que toutes les bibliothèques Java utilisent des annotations pour la génération de code?

StackOverflow https://stackoverflow.com/questions/1170417

  •  19-09-2019
  •  | 
  •  

Question

Quelqu'un est-il au courant d'une bibliothèque qui utilise les techniques (annotations et classworking) décrites dans cet article pour générer automatiquement les méthodes standard de l'objet toString (), est égal à () et hashCode () pour les classes java standard?

Était-ce utile?

La solution

Oui, le projet Lombok fait cela. Voir http://projectlombok.org . Il prend en charge non seulement javac, mais aussi Eclipse. Ainsi, les méthodes ne sont pas dans le code source, mais sont affichés dans la vue de plan.

Autres conseils

Je n'ai certainement pas vu et je ne suis pas vraiment sûr de la valeur à tirer d'elle. Je trouve que la génération automatique de toString ne sont généralement pas ce que vous voulez lorsque récurer fichiers journaux et la plupart des IDEs disposeront d'outils pour vous permettre de générer des implémentations de hashCode et equals, bien qu'accordée ceux-ci ne reflètent pas automatiquement les modifications de schéma dans votre classe.

Il y aurait 2 options pour la mise en œuvre ceci:

  1. annotation de classe de compilation qui est traité (par exemple par votre IDE) pour générer des méthodes appropriées. peut annotations modifier le bytecode généré des classes qu'ils sont déclarées dans? Je pense que ce appraoch est une très mauvaise idée parce que vous ne pouvez pas dire ce qui se passe en regardant votre code source
  2. annotation d'exécution sur les méthodes pertinentes pour indiquer qu'ils doivent être évalués au moyen du mécanisme spécial. Cela vous oblige encore à déclarer et annoter vos méthodes et je suis également pas sûr de la façon dont vous en fait interceptent méthode appelle à utiliser l'annotation en tout état de cause
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top