2017-09-26 16 views
-1

JAXBを使用してXSDから生成された既存のBeanがあります。 XSDファイルがたくさんあるので(実際には)、その部分のコンパイルには時間がかかります。 XSDを読んですべてのBeanのHTMLカタログを生成するカスタムMavenプラグインがあります。Java Bean検証アノテーションを使用してPOJOから文書を生成

XSDのドキュメンテーションが生成されたBeanに保持されず、XMLで表現されたいくつかの制約がJavaに適切に変換されないか、または強く強制されないため、JAXBを取り除きたいと思います。

Java Bean検証アノテーション(必要に応じてカスタムアノテーションを使用)を使用したいと考えています。

既存のJavadocコメントとJava Bean検証アノテーションから生成されたドキュメントをマージする既存のプラグイン/ライブラリ/その他について知っていますか?

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; 

} 

例えば、メッセージプロパティのドキュメントは次のようになります。javadocの注釈付き

ドキュメントが
「メッセージ」nullにすべきではありません。
"message"のサイズは3〜20文字でなければなりません。

答えて

0

Javadoc(eclipse、STS、..)を生成するには、JAutoDocプラグインを試してください。それは生成のための選択肢を持っています:既存のものを置き換える、既存のものを完全にする、既存のものを保持するそれに加えて、さまざまな選択肢をカスタマイズすることができます。 リンク市場:https://marketplace.eclipse.org/content/jautodoc

+0

残念ながら、Eclipseプラグインはオプションではありません。私は「何でも」と言ったことを知っている。それはEclipseのもの以外は何でもあります;-)。私はIDEに依存しないもの(ビルドサーバーなどで実行できるもの)を希望します。 – florian

0

ビーン検証制約のアノテーションは、すでに生成されたJavadoc(またはメタ注釈付き@Documentedである本当にすべての注釈)の一部です。これで十分でない場合は、その制約メタデータのテキスト表現を追加するカスタムドックレットを作成することを検討できます。

+0

Btw。 Hibernateフォーラム[言及](https://forum.hibernate.org/viewtopic.php?f=9&t=1044569)の誰かが、これらの行に沿ってドックレットに取り組んでいると伝えています。彼が彼の作品を出版したかどうかは分かりません。フォーラムで再び質問しました。 – Gunnar

+0

@Documented注釈が、生成されたHTML Javadocに注釈がコピーされるように変換されるようです。 '@NotNull @Size(最小= 3, 最大= 20) プライベート文字列メッセージ javadoc注釈付きドキュメント'。私はテキストを見たいと思う。 – florian

+0

これは私が上で言ったことです: – Gunnar