たとえば、ドキュメントの解析によって生成されたオブジェクトの配列があるとします。これらのオブジェクトは次のようになります。
Object{
id
text
anotherProperties
}
最初の2つの属性(idとtext)は解析中に設定されますが、ここで別のプロパティ(追加の属性)を追加します。これは、複雑すぎて決定できないため、解析中に設定できませんが、テキストに依存します。どうすればこれをエレガントな方法で達成できますか?Javaでは?回答ありがとうございます
おそらく、整数のキー(ID)とテキストとanotherProperitesで構成されるDocProperitesの値を持つHashMapを使用します。
次に、anotherPropertiesを設定する準備ができたら、HashMapからオブジェクトを取得して設定できます。
例えば
Map<Integer, DocProperties> map = new HashMap();
DocPropertiesは
public class DocProperties {
private String text;
private String anotherProperties;
//plus the usual setters, getters and ctor
}
次に、anotherPropertiesを設定するときに呼び出すことができます
map.get(key).setAnotherProperties(....);
より動的なものが必要な場合は、DocPropertiesの代わりに別のHashMapを使用できます。HashMapでは、解析時にキーを追加および削除できます。コードが非常に乱雑になり、バグが発生する可能性があるため、これはお勧めしません。