GWT アプリケーションで JSON をエンコード/デコードするために Autobean フレームワークを使用しています。ゲッターとセッターを持つインターフェイスの場合に機能します。しかし、setThisCollectionProperty
代わりにメソッドを使用してa を指定せずにこれを行う別の方法はありaddToThisCollectionProperty
ますか?
たとえば、次のIPerson
ようなインターフェイスがあります。
public interface IPerson {
public String getName();
public void setName(String name);
public int getAge();
public void setAge(int age);
public List<String> getIds();
public void addId(String id);
}
BeanFactory は次のようになります。
public interface BeanFactory extends AutoBeanFactory {
public AutoBean<IPerson> person();
public AutoBean<IPerson> person(IPerson person);
}
IPerson を実装する Person クラスでは、
public class Person implements IPerson {
private String name;
private List<String> ids;
...
public List<String> getIds() {
return ids;
}
public void addId(String id) {
...
ids.add(id);
}
}
を にaddId(String id)
置き換えると機能しsetIds(List<String> ids)
ます。そうしないと、次のエラーが表示されます。
com.mycompany.jsonsample.beans.IPerson のパラメーター化は単純ではありませんが、person メソッドはデリゲートを提供しません。
set
メソッドなしでエンコード/デコードすることは可能ですか?