現在、autobean として処理されるクラスのセットアップがあります。
public interface Asset extends Hit {
String getGuid();
String getHitType();
Map<String,Serializable> getMetadata();
}
Serializable の代わりに Object を使用してみました:
Map<String,Object> getMetadata()
しかし、これはデータにアクセスしようとすると爆発するようです (「具体化」されていないため)。
メタデータ マップには、他のマップ、文字列、int などが含まれる場合があります。そのメタデータ オブジェクトの内部マップからデータを取得するにはどうすればよいですか?
現在、asset.getMetadata().get("title"); を呼び出すと、これは SerializableAutoBean を返し、そのオブジェクトに対して toString() または String.valueOf(obj) を実行すると、実際の文字列値ではなく、メモリ内オブジェクト情報が返されます。
AutoBean オブジェクトをこのように動的にすることはできますか?それとも、特にすべてのフィールドを定義する必要がありますか?