1

動的属性用の特別なコンポーネントを必要とするJavaアプリケーションを開発しています。引数は(JSONを使用して)シリアル化され、データベースに格納されてから、実行時に逆シリアル化されます。すべての属性は、3つの列(属性名、属性タイプ、および属性値)を持つJTableに表示され、ハッシュマップに格納されます。

現在、解決すべき2つの問題があります。

  1. ハッシュマップはオブジェクトを格納することもでき、オブジェクトをnullに設定することもできます。そして、nullに設定されている場合、それらがどのクラスに属しているのかわかりません。オブジェクトがnullで、どのクラスに属しているかがわかっている場合でも、オブジェクトを保存するにはどうすればよいですか?保存されたオブジェクトのクラスを保持するクラスで各オブジェクトをラップする必要がありますか?

  2. オブジェクトは実行時にjsonから逆シリアル化されます。これに伴う問題は、多くの異なるタイプのオブジェクトがあり、ハッシュマップに格納されるすべてのオブジェクトタイプを実際に知っているわけではないということです。だから私はオブジェクトを動的に逆シリアル化する方法を探しています..そのような方法はありますか?オブジェクトのクラスをシリアル化されたjson文字列に保存する必要がありますか?

ありがとう!

4

2 に答える 2

2
  1. Null Object Patternを見てください。追加のクラスを使用して、タイプの Null インスタンスを表すことができ、それ自体に関する情報を含めることができます。

  2. Class Tokenと呼ばれるものがあり、 Class オブジェクトを異種コンテナのキーとして使用します。Joshua Bloch による「Effective Java」の項目 29をご覧ください。同じタイプのインスタンスが多数ある可能性があるため、このアプローチがどのように機能するかはわかりませんが、参照として残します。

于 2012-08-07T14:34:48.410 に答える