更新画面用のコンテナクラス。 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() ); }
「コンストラクタでないといけない」というルールではなく目安にします。