2012-03-15 12 views
2

イメージ自動生成されたBeanがあり、それらをいくつかの追加機能で拡張したいとします。したがって、自動生成されたBeanを拡張し、同じファイル内でObjectFactoryを拡張し、@XmlRegistryと注釈を付けます。アンマーシャリング時にJAXB自身のオブジェクトファクトリが使用されない

オブジェクトをアンマーシャリングするとき、拡張されたObjectFactoryが使用されないため、自動生成されたBeanが作成されます。

カスタムビーンを作成するための手順は何ですか? JAXBに使用する工場を教えてもいいですか?あるいは、JAXBは工場をまったく使用しませんか?

答えて

3

はい、Unmarshallerを設定するときにObjectFactoryを指定する必要があります。私は、あなた自身のObjectFactoryの実装を提供するために、このようなものを使うことができると思います:

unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory",new MyObjectFactory()); 
+0

プロパティを設定するときにnullpointer例外が発生します。また、クラスパスにcom.sun.xml.bind.ObjectFactoryクラスまたはインターフェイスがないようです... –

関連する問題