2017-09-26 7 views
-1

Nous avons des beans existants générés à partir de XSD avec JAXB. Il y a beaucoup (vraiment) de fichiers XSD donc la compilation pour cette partie prend du temps. Nous avons un plugin Maven personnalisé qui génère un catalogue HTML de tous les beans en lisant les XSD.Génération de la documentation à partir de POJO avec des annotations Java Bean Validation

Nous aimerions nous débarrasser de JAXB car la documentation dans le XSD n'est pas conservée dans le bean généré et certaines contraintes exprimées en XML ne sont pas correctement traduites en Java ou ne sont pas suffisamment appliquées.

Nous souhaitons utiliser les annotations Java Bean Validation (avec des annotations personnalisées si nécessaire). Connaissez-vous un plugin/une bibliothèque/tout ce qui pourrait fusionner les commentaires Javadoc existants avec la documentation générée à partir des annotations Java Bean Validation?

import lombok.Getter; 
import lombok.Setter; 

import javax.validation.constraints.NotNull; 
import javax.validation.constraints.Size; 

/** 
* Documentation... 
*/ 
@Getter 
@Setter 
public class Bean { 

    /** 
    * Documentation with javadoc annotations 
    */ 
    @NotNull 
    @Size(min = 3, max = 20) 
    private String message; 

} 

Par exemple, pour la propriété de message la documentation ressemblerait à ceci:

Documentation avec annotations javadoc
"message" ne doit pas être nul.
La taille "message" doit être comprise entre 3 et 20 caractères.

Répondre

0

Vous devriez essayer le plugin JAutoDoc pour générer Javadoc (eclipse, STS, ..). Il a des choix pour générer: remplacer existant, compléter existant, conserver existant. En plus de cela, vous pouvez personnalisé choix varié. marché du lien: https://marketplace.eclipse.org/content/jautodoc

+0

Malheureusement le plugin Eclipse n'est pas une option. Je sais que j'ai dit "peu importe". C'est n'importe quoi sauf des trucs Eclipse ;-). Je voudrais quelque chose qui est agnostique IDE (qui peut fonctionner sur le serveur de construction et autres). – florian

0

annotations de contraintes Bean Validation font déjà partie de JavaDoc généré (ou toute annotation qui est vraiment méta-annotée avec @Documented). Si cela ne suffit pas, vous pouvez envisager d'écrire un doclet personnalisé qui ajoute une représentation textuelle de cette métadonnée de contrainte.

+0

Btw. quelqu'un dans le forum Hibernate [mentionné] (https://forum.hibernate.org/viewtopic.php?f=9&t=1044569) qu'il travaille sur un doclet le long de ces lignes. Je ne suis pas sûr s'il a déjà publié son travail, je viens de demander dans le forum à nouveau. – Gunnar

+0

Il semble que l'annotation @Documented se traduise par des annotations copiées dans le Javadoc HTML généré. @NotNull @Size (min = 3, max = 20) private Message chaîne Documentation avec des annotations javadoc'. Je préférerais voir du texte. – florian

+0

Juste, c'est ce que je voulais dire ci-dessus :) – Gunnar