2011-02-10 5 views
3

Apache XML Beansを使用してxsd:enumeration型から型を生成すると、XMLBeansはJava 5列挙型ではなく、列挙型を表す特別なクラスのカスタムクラスを生成します。XML Beansを使用したJava Enum?

これは、XMLBeansがJava 5より古いため、その時点で列挙がなかったか、Java 1.4との互換性を維持するためです。しかし、私は "本当の"列挙型を取得したいので、私の質問です:Apache XML BeansでJava 5列挙型を生成する方法はありますか?

Jaxbは、私がしたいようにこれを行いますが、私はXMLBeansのを削除し、ちょうどその詳細はJAXBを紹介したい場合はよく分からない。)

答えて

1

は、私はあなたがXMLで何をしたいものを達成できるとは思いません豆。あなたは自分で理由を述べたことさえあります。 JaxBに移動することをお勧めします。

しかし、実際にXML Beansを使い続けたい場合は、パッチをお勧めします。生成されたクラスを後処理してenumに変換することができます。私は過去にantタスクを使ってそのようなことをしました。文字列の置換を行うことを知っているantタスクがあるので、問題はありません。悪い場合には、Javaで独自のタスクを実装できます。しかし、私はあなたが持っていないと信じています。私はこれが最も簡単な解決策だと思います。

幸運。

+0

あなたの答えをありがとう。はい、私は最初にこれを含めなかった理由を述べました。しかし、私は、Java 5の機能を有効にするためにいくつかのフラグを追加できたと思います。 –

+0

:(あなたは何を知っていますか?私はもう一度考えましたが、おそらくこのフラグが存在しなくても問題を解決できると思うのですが、ジャカルタプロジェクトのコード生成は速度を使って行われます。プロジェクトにはクラスの種類ごとにベロシティテンプレートが含まれているはずですが、おそらくenumを扱うテンプレートを変更できますか? – AlexR

+0

ベロシティを使用するかどうかはわかりませんが、検索置換操作を行うポスト処理でクラスを変更できます。問題は、その列挙型を使ってすべてのクラスに必要なことです。すべてがハッスルの価値があるかどうかはわかりません。 –

関連する問題