ページの先頭行へ戻る
Interstage Interaction Manager V10 Ajaxフレームワーク ユーザーズガイド
Interstage

5.9.6 ビジネスクラスの作成(開発例)

Interstage Studioワークベンチを利用して、ビジネスクラスを作成します。
詳細については、「Apcoordinator入門ガイド」、および「Apcoordinatorユーザーズガイド」を参照してください。

ビジネスクラスの作成

ビジネスクラス作成時には、以下の情報を入力します。

作成されたビジネスクラスに、以下の記述を追加します。

import宣言部分の記述内容

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
import java.util.Vector;

startupメソッド部分の記述内容

/* 初期化処理 */
public void startup(DispatchContext context) {
  ConditionBean conditionBean = new ConditionBean();
  context.setResponseBean("body", conditionBean);
}

searchメソッド部分の記述内容

/* 検索処理 */
public Object search(DispatchContext context, ajaxSample.ConditionBean dataBean) {
  ListBean listBean = new ListBean();
  AjaxSampleApplication application = (AjaxSampleApplication)context.getApplicationProfile();
  ArrayList listData = application.getListData();

  Vector v = new Vector();
  for (int i = 0 ; i <listData.size() ; i++) {
    RecordBean orderBean = (RecordBean)listData.get(i);
    if (matches(dataBean, orderBean)) {
      v.add(orderBean);
    }
  }
  listBean.setList(v);
  return listBean;
}

matchesメソッド(注)の記述内容

/* 検索処理サブルーチン */
private boolean matches(ajaxSample.ConditionBean dataBean, RecordBean orderBean) {
 String customer = dataBean.getCustomer();
 if (customer != null && customer.length()!=0 && !customer.equals((String)orderBean.getCustomer())) {
   return false;
 }
 String charge = dataBean.getCharge();
 if (charge != null && charge.length()!=0 && !charge.equals((String)orderBean.getCharge())) {
   return false;
 }

 Date orderDate = null;
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.JAPAN);
 formatter.setTimeZone(TimeZone.getDefault());
 try {
   orderDate = formatter.parse(orderBean.getOrderDate());
 } catch(ParseException e) {
   e.printStackTrace();
 }

 Date fromDate = dataBean.getFromDate();
 if (fromDate != null) {
   if (orderDate.before(fromDate)) {
     return false;
   }
 }

 Date toDate = dataBean.getToDate();
 if (toDate!= null) {
   if (orderDate.after(toDate)) {
     return false;
   }
 }
 return true;
}

注) このメソッドは自動生成されません。

コマンドマップの定義

Interstage Studioワークベンチを利用してビジネスクラスを作成すると、自動的にコマンドマップ(commands.map)が作成されます。

コマンドマップの記述内容

# 初期化処理
;=ajaxSample.AjaxSampleHandler.startup
# 検索処理実行
ajaxSample.ConditionBean;search=ajaxSample.AjaxSampleHandler.search

コマンドマップの詳細は、「Apcoordinator ユーザーズガイド」を参照してください。

ページマップの定義

ページマップ(pages.map)に必要な定義を追加します。

ページマップの記述内容

# pages.map
ajaxSample.ConditionBean;=search.jsp

ページマップの詳細は、「Apcoordinator ユーザーズガイド」を参照してください。