package com.blogger.tcuri.appserver;
import com.blogger.tcuri.appserver.resolution.RedirectResolution;
import com.blogger.tcuri.appserver.resolution.Resolution;
import com.blogger.tcuri.appserver.resolution.TextResolution;
/**
* 各アクションクラスが継承する抽象クラスです
*
* @author tomofumi
*/
public abstract class Action {
/**
* アクションの処理を実行する
*
* @param context
* ActionContext
* @return Resolutionオブジェクト
* @throws Exception
*/
public abstract Resolution execute(ActionContext context) throws Exception;
/**
* RedirectResolutionクラスのインスタンスを生成する
*
* @param path
* リダイレクトするパス
* @return RedirectResolutionクラスのインスタンス
*/
public Resolution redirect(String path) {
return new RedirectResolution(path);
}
/**
* TextResolutionクラスのインスタンスを生成する
*
* @param contentType
* HTTPレスポンスのコンテントタイプ
* @param text
* レスポンスするテキスト
* @return TextResolutionクラスのインスタンス
*/
public Resolution text(String contentType, Object text) {
return new TextResolution(contentType, text.toString());
}
}