JAXB -XJCはAppInfoをクラス構造にコンパイルできますか?
質問
フォーム生成のためにいくつかの異なるアプリケーションによって読まれるスキーマがあります。そのうちの1つは、JAXB/XJCを使用してクラス構造をコンパイルします。スキーマには、フィールドの友好的な名前のAppINFO情報が含まれています。
<xs:element name="HomeAddress" type="xs:string">
<xs:annotation>
<xs:appinfo>Home address</xs:appinfo>
</xs:annotation>
</xs:element>
XJCにこの情報をコンパイルする方法はありますか?
解決
使用できます アノテートプラグイン スキーマ由来のクラスに任意のJavaアノテーションを追加します。このプラグインを使用すると、次のような構文を管理できます。
<xs:element name="HomeAddress" type="xs:string">
<xs:annotation>
<xs:appinfo>
<ann:annotate xmlns:ann="http://annox.dev.java.net/com.acme.foo">
<my:Label value="Home address"/>
</ann:annotate>
</xs:appinfo>
</xs:annotation>
</xs:element>
あなたは次のようなものを得る:
@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}
他のヒント
JAXBリファレンス実装に伴うXJCツールを使用してこれを行う方法を知りません。ただし、XJCでは、必要なカスタムプラグインを作成できます。
所属していません StackOverflow