AbstractFormObjectを生成するクラス。 wisdomx.logic.formtemplate.AbstractFormGeneratorを継承して作成します。
このクラスの役割は
"パラメータを受け取りSQLを発行してAbstractFormObjectインスタンスを生成する"
です。
このクラスの利用クラスがAbstractFormObjectGeneraor#generate()を実行すると抽象メソッド#_generate()が 実行されます。
例) #_generate()の実装
protected AbstractFormObject _generate() throws Exception { UserFo fo = new UserFo(rh); fo.setUserid(inputForm.getString("userid")); fo.toUpdate(); PreparedStatement ps = rh.getConnection().prepareStatement(SQL_SEL_MUSER); ps.setString(1, fo.getUserid()); ResultSet rs = ps.executeQuery(); if (rs.next()) { fo.setUserid(rs.getString(1).trim()); fo.setUsername(rs.getString(2).trim()); fo.setPassword(rs.getString(3).trim()); fo.setMailaddress(rs.getString(4).trim()); fo.getSexkbn().setSelected(rs.getString(5).trim()); fo.getCitycd().setSelected(rs.getString(6).trim()); } rs.close(); ps.close(); ps = rh.getConnection().prepareStatement(SQL_SEL_MUSERHOBBY); ps.setString(1, fo.getUserid()); rs = ps.executeQuery(); while (rs.next()) { fo.getHobbycd().setChecked(rs.getString(1).trim()); } rs.close(); ps.close(); return fo; }
例)呼び出し側コードサンプル
private void update() throws Exception{ ParameterInputForm pif = new ParameterInputForm(); pif.addString("userid", rp.getString("userid")); UserFog fog = new UserFog(pif,rh); rh.setSessionAttribute(getName()+"#user", fog.generate()); setPage(PAGES[1]); }