feat.v1
クラス ContextAccessor

java.lang.Object
  拡張feat.v1.ContextAccessor

public class ContextAccessor
extends java.lang.Object

コンテキストへのアクセスを統一するためのクラス。

作成者:
SUGIMOTO Ken-ichi

フィールドの概要
protected static Log log
           
static int SCOPE_APPLICATION
           
static int SCOPE_PARAM
           
static int SCOPE_REQUEST
           
static int SCOPE_SESSION
           
 
コンストラクタの概要
ContextAccessor(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, java.lang.String featureName, java.lang.String commandName)
           
 
メソッドの概要
 java.lang.Object getAttribute(int scope, java.lang.String name)
          属性を取得する。
 java.lang.Object getAttribute(int scope, java.lang.String name, java.lang.String path)
          属性を取得する。
 java.lang.Object getAttribute(java.lang.String path)
          属性を取得する。
 CommandDeclaration getCurrentCommandDeclaration()
           
 FeatureDeclaration getCurrentFeatureDeclaration()
           
 java.lang.String getEncoding()
          現在のエンコーディング設定を返す。
 java.lang.Exception getException()
          リクエストの処理中に起きた例外を返す。
 FeatConfig getFeatConfig()
           
 FeatureErrors getFeatureErrors()
          このリクエストの処理中に発生したエラーのリストを返す。
 java.util.Locale getLocale()
          現在のスコープのロケールを取得する。
 java.util.Map getMappedValue(java.lang.String path)
          指定パスのオブジェクトをMapインタフェースでラップして返す。
 java.lang.String getParameter(java.lang.String name)
          リクエストパラメータの値を返す。
 java.lang.String[] getParameterNames()
          リクエストパラメータの名前を格納した配列を返す。
 java.lang.String[] getParameterValues(java.lang.String name)
          リクエストパラメータの値を返す。
 HttpServletRequest getRequest()
           
 HttpServletResponse getResponse()
           
 ServletContext getServletContext()
           
 HttpSession getSession()
           
 java.lang.String getStringResource(FeatureDeclaration featureDecl, java.lang.String name)
          指定フィーチャーからリソース文字列を取得する。
 java.lang.String getStringResource(FeatureDeclaration featureDecl, java.lang.String name, java.util.Locale locale)
          リソース文字列を取得する。
 java.lang.String getStringResource(java.lang.String name)
          現在のロケールのリソース文字列を返す。
 void setAttribute(int scope, java.lang.String name, java.lang.Object value)
          属性をセットする。
 void setException(java.lang.Exception ex)
          リクエストの処理中に起きた例外をセットする。
 void setLocale(java.util.Locale locale)
          このセッションのロケールを変更する。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

protected static Log log

SCOPE_PARAM

public static final int SCOPE_PARAM
関連項目:
定数フィールド値

SCOPE_REQUEST

public static final int SCOPE_REQUEST
関連項目:
定数フィールド値

SCOPE_SESSION

public static final int SCOPE_SESSION
関連項目:
定数フィールド値

SCOPE_APPLICATION

public static final int SCOPE_APPLICATION
関連項目:
定数フィールド値
コンストラクタの詳細

ContextAccessor

public ContextAccessor(ServletContext servletContext,
                       HttpServletRequest request,
                       HttpServletResponse response,
                       java.lang.String featureName,
                       java.lang.String commandName)
                throws FeatException
パラメータ:
servletContext - ServletContext
request - HttpServletRequest
response - HttpServletResponse
featureName - 現在のリクエストのフィーチャー名。リクエストURIから取り出した文字列。
commandName - 現在のリクエストのコマンド名。リクエストURIから取り出した文字列。
例外:
FeatException - FeatConfigオブジェクト、フィーチャー定義またはコマンド定義が見つからない
メソッドの詳細

getRequest

public HttpServletRequest getRequest()

getResponse

public HttpServletResponse getResponse()

getServletContext

public ServletContext getServletContext()

getFeatConfig

public FeatConfig getFeatConfig()

getCurrentFeatureDeclaration

public FeatureDeclaration getCurrentFeatureDeclaration()

getCurrentCommandDeclaration

public CommandDeclaration getCurrentCommandDeclaration()

getSession

public HttpSession getSession()
                       throws HTTPSessionException
例外:
HTTPSessionException

getFeatureErrors

public FeatureErrors getFeatureErrors()
このリクエストの処理中に発生したエラーのリストを返す。

戻り値:
FeatureErrors

getParameterNames

public java.lang.String[] getParameterNames()
リクエストパラメータの名前を格納した配列を返す。 リクエストパラメータがない場合は空の配列を返す。

戻り値:

getParameter

public java.lang.String getParameter(java.lang.String name)
リクエストパラメータの値を返す。 パラメータに複数の値が含まれるときは最初の一つを返す。

パラメータ:
name -
戻り値:
パラメータが無いときはnull
関連項目:
javax.servlet.ServletRequest#getParameter(java.lang.String)

getParameterValues

public java.lang.String[] getParameterValues(java.lang.String name)
リクエストパラメータの値を返す。

パラメータ:
name -
戻り値:
関連項目:
javax.servlet.ServletRequest#getParameterValues(java.lang.String)

getMappedValue

public java.util.Map getMappedValue(java.lang.String path)
                             throws ContextAttributeAccessException,
                                    HTTPSessionException
指定パスのオブジェクトをMapインタフェースでラップして返す。 "param"を指定するとリクエストパラメータのマップ(値はString[]型)、 それ以外のときはオブジェクトのプロパティのマップを返す。 オブジェクトのパスは "スコープ名:属性名.プロパティのパス" の形式。 プロパティのパスは無くても良い。

戻り値:
指定パスのオブジェクトのプロパティマップ
例外:
ContextAttributeAccessException - paramスコープの後ろに属性名を指定した。 または存在しないスコープを指定した。
HTTPSessionException - セッションを開始できなかった

getAttribute

public java.lang.Object getAttribute(int scope,
                                     java.lang.String name)
                              throws HTTPSessionException,
                                     ContextAttributeAccessException
属性を取得する。 スコープにSCOPE_PARAMを指定したときは単一の値のみ取得できる。 リクエストパラメータが複数の値を持つ場合は最初の一つだけを返す。

パラメータ:
scope - SCOPE_PARAM, SCOPE_REQUEST, SCOPE_SESSION, SCOPE_APPLICATIONの定数のどれか。
name - 属性の名前
戻り値:
属性の値。名前に対応した値がなければnullを返す
例外:
HTTPSessionException - セッションを開始できなかった
ContextAttributeAccessException - 存在しないスコープを指定した

getAttribute

public java.lang.Object getAttribute(int scope,
                                     java.lang.String name,
                                     java.lang.String path)
                              throws HTTPSessionException,
                                     ContextAttributeAccessException
属性を取得する。
ネストした名前を指定できるので、オブジェクトツリーの中から任意のオブジェクトを取得することができる。
例えば
((Foo)session.getAttribute("user")).getName().getFirstName();
は、このメソッドでは
getAttribute(SCOPE_SESSION, "user", "name.firstName");
と書くことができる。

パラメータ:
scope - SCOPE_PARAM, SCOPE_REQUEST, SCOPE_SESSION, SCOPE_APPLICATIONの定数のどれか。
name - 属性の名前
path - オブジェクトのプロパティ名。ネストした名前でも良い。
戻り値:
属性の値。名前に対応した値がなければnullを返す
例外:
HTTPSessionException - セッションを開始できなかった
ContextAttributeAccessException - 存在しないスコープを指定した

getAttribute

public java.lang.Object getAttribute(java.lang.String path)
                              throws ContextAttributeAccessException,
                                     HTTPSessionException
属性を取得する。
ネストした名前を指定できるので、オブジェクトツリーの中から任意のオブジェクトを取得することができる。
例えば
((Foo)session.getAttribute("user")).getName().getFirstName();
は、このメソッドでは
getAttribute("session:user.name.firstName");
と書くことができる。

パラメータ:
path - "スコープ名:属性名"
戻り値:
Object
例外:
HTTPSessionException - セッションを開始できなかった
ContextAttributeAccessException - 存在しないスコープを指定した

setAttribute

public void setAttribute(int scope,
                         java.lang.String name,
                         java.lang.Object value)
                  throws HTTPSessionException,
                         ContextAttributeAccessException
属性をセットする。

パラメータ:
scope - SCOPE_REQUEST, SCOPE_SESSION, SCOPE_APPLICATIONの定数のどれか。
name - 属性の名前
value - 属性の値
例外:
HTTPSessionException
ContextAttributeAccessException

getStringResource

public java.lang.String getStringResource(java.lang.String name)
現在のロケールのリソース文字列を返す。

パラメータ:
name - String
戻り値:
String

getStringResource

public java.lang.String getStringResource(FeatureDeclaration featureDecl,
                                          java.lang.String name)
指定フィーチャーからリソース文字列を取得する。 ロケールはHTTPセッションに保存された言語設定、HTTPヘッダのAccept-Languageから得られたものを使用する。

関連項目:
setLocale(Locale), getLocale()

getStringResource

public java.lang.String getStringResource(FeatureDeclaration featureDecl,
                                          java.lang.String name,
                                          java.util.Locale locale)
リソース文字列を取得する。


getEncoding

public java.lang.String getEncoding()
現在のエンコーディング設定を返す。 エンコーディングはリクエストからパラメータを取得するときに参照される。 コマンド、フィーチャーの順で検索される。どちらにも定義されていないときはnull。

戻り値:
String

setLocale

public void setLocale(java.util.Locale locale)
               throws HTTPSessionException
このセッションのロケールを変更する。

パラメータ:
locale -
例外:
HTTPSessionException

getLocale

public java.util.Locale getLocale()
現在のスコープのロケールを取得する。 ロケールの検索順は セッション -> HTTPヘッダ(Accept-Language) -> JVMのデフォルトロケール。

戻り値:

setException

public void setException(java.lang.Exception ex)
リクエストの処理中に起きた例外をセットする。

パラメータ:
ex -

getException

public java.lang.Exception getException()
リクエストの処理中に起きた例外を返す。

戻り値: