更新画面用のコンテナクラス。 wisdomx.logic.formtemplate.AbstractFormObjectクラスを継承して作成します。
このクラスの役割は
"オブジェクトが持つ変数を定義し、値の格納をする。"
です。
更新画面に必要な項目を定義します。項目のタイプは場合により異なります。
private String userid = ""; private String username = ""; private String password = ""; private String mailaddress = ""; private Select sexkbn = null; private Select citycd = null; private Checkbox hobbycd = null;
変数のsetter/getterを定義します。
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
コマンドクラスがこのクラスに入力値をセットする場合、抽象メソッドのAbstractFormObject#set(IRequestHandler,IRequestParser)を 呼び出します。このメソッドでは、リクエストのパラメータを変数にセットする部分を実装します。
例)
public void set(IRequestHandler rh, IRequestParser rp) throws Exception {
clearMessageList();
userid = rp.getString("userid");
username = rp.getString("username");
password = rp.getString("password");
mailaddress = rp.getString("mailaddress");
sexkbn.setSelected(rp.getString("sexkbn",""));
citycd.setSelected(rp.getString("citycd"));
hobbycd.clearChecked();
hobbycd.setChecked(rp.getStringArray("hobbycd"));
}
入力値をselect,radio,checkなどwisdomx.ui.objectパッケージのクラスで持ち、事前に必要な場合は コンストラクタで設定します。
例)
public UserFo(IRequestHandler rh) throws Exception {
IOptionsBuilder ob = Factory.getOptionsBuilder(rh);
sexkbn = ob.build(OptionsConstants.OC_SEXKBN, DataDictionary.SEXKBN.getId());
citycd = ob.build(OptionsConstants.OC_CITYCD, DataDictionary.CITYCD.getId());
hobbycd = new Checkbox(DataDictionary.HOBBYCD.getId(),
ob.build(OptionsConstants.OC_HOBBYCD, DataDictionary.HOBBYCD.getId()).getOptions()
);
}
「コンストラクタでないといけない」というルールではなく目安にします。