Converter内のXStreamオブジェクトにアクセスする方法

java xstream
Converter内のXStreamオブジェクトにアクセスする方法

XStreamのインスタンスがあり、そこでいくつかのコンバーターを登録し、動作するように構成を行いました。

XStream xstream = new XStream();
xstream.registerConverter(new SomeConverter());
(...)

そして、Converterを実装するSomeConverterクラスがあります。

何らかの理由で、コンバーターコード内のxstreamオブジェクトにアクセスしたいと思います。

コンバータのメソッド/属性から取得する方法はありますか、それとも他の場所から取得する必要がありますか?

  0  0


ベストアンサー

Converterは単なるインターフェイスであるため、XSomeオブジェクトを取り込むために `SomeConverter`のコンストラクタを変更することを妨げるものは何もありません。 その後、実装されたメソッドを使用してアクセスできます。 E.g.

XStream xstream = new XStream();
xstream.registerConverter(new SomeConverter(xstream));

2


XStreamコンバーターはxstreamオブジェクトにコンテキストを保存しないと思います。 これは結合に役立ちます。 もちろん、1つのオプションは、コンストラクター引数を宣言してxstreamオブジェクトを渡すことです。 しかし、XStreamとそのコンバーターの間の疎結合を維持するために、Xstreamオブジェクトから必要なものに関する情報を取得してカスタムコンバーターに渡すことは、より良い解決策だと思います

1


タイトルとURLをコピーしました