Visitの実装(その1)

Tapestryでは、通常のServlet APIを意識する必要が無いようになっています。
Tapestryでセッション情報を保持するのはVisitオブジェクトです。これは特定の形式を持つ必要は無いのですが、通常はJavaBeansの様にプロパティとアクセッサメソッドを持っていて、Serializableであるのが一般的のようです。
Visitオブジェクトは、以下のような実装にしました。

Visit.java

package bbs.view;

import java.io.Serializable;

import org.objectstyle.cayenne.access.DataContext;
import org.objectstyle.cayenne.conf.Configuration;

/**
 * Visitオブジェクト
 * 
 * @author toolkit
 * @version $Revision$
 */
public class Visit implements Serializable {
	private DataContext dataContext;

	public Visit() {
		super();
		dataContext = Configuration.getSharedConfiguration().getDomain().createDataContext();
	}

	public DataContext getDataContext() {
		return dataContext;
	}
}

VisitオブジェクトをTapestryに知らせてあげるために、.applicationファイルに以下を記述しておきます。

MessageBoard.application(抜粋)

	<property name="org.apache.tapestry.visit-class">bbs.view.Visit</property>

これでWebObjectsと同様な事が出来ます。
コンポーネント内では

Visit visit = (Visit)getVisit();
DataContext context = visit.getDataContext();

のような形でDataContextを取得できるようになりました。