net.jp.saf.sastruts.method.impl
クラス HttpMethodCheckerImpl

java.lang.Object
  上位を拡張 net.jp.saf.sastruts.method.impl.HttpMethodCheckerImpl
すべての実装されたインタフェース:
Serializable, HttpMethodChecker

public class HttpMethodCheckerImpl
extends Object
implements HttpMethodChecker

HTTPリクエストの実行メソッドをチェックします.

作成者:
k-minemoto
関連項目:
直列化された形式

フィールドの概要
protected  HttpMethod[] defaultAllows
          checkのallowsがnullだった時の許可メソッド.
protected  HttpMethod[] defaultAnnotationAllows
          checkのallowsが空(length=0)だった時の許可メソッド.
protected  ExtensionHeaderBehavior defaultExtHeaderBehavior
          拡張ヘッダーの扱い
protected  ErrorHandler errorHandler
          チェックエラー時のハンドラ
protected  String extensionHeaderName
          拡張ヘッダー名
 
インタフェース net.jp.saf.sastruts.method.HttpMethodChecker から継承されたフィールド
DEFAULT_EXTENSION_HEADER_NAME
 
コンストラクタの概要
HttpMethodCheckerImpl()
           
 
メソッドの概要
 CheckResult check(HttpServletRequest request, HttpMethod[] allows, ExtensionHeaderBehavior extensionHeaderBehavior)
          HTTPメソッドのチェックを行います.
protected  String detectCurrentHttpMethod(HttpServletRequest request, ExtensionHeaderBehavior customBehavior)
          現在のHTTPリクエストから、呼び出されたHTTPメソッドを抽出します.
 String handleError(HttpServletRequest request, HttpServletResponse response, HttpMethod[] allowed, String method)
          チェックエラー時の処理を行います.
 void setDefaultAllows(List<HttpMethod> defaultAllows)
          HttpMethodLimitが付いて無いメソッドに対しての、デフォルトチェックメソッドを設定します.
 void setDefaultAnnotationAllows(List<HttpMethod> defaultAnnotationAllows)
          HttpMethodLimitの、value省略時のデフォルトチェックメソッドを設定します.
 void setErrorHandler(ErrorHandler errorHandler)
          チェックエラー時のハンドラを設定します.
 void setExtensionHeader(ExtensionHeaderBehavior extensionHeader)
          拡張ヘッダーの扱いを設定します.
 void setExtensionHeaderName(String extensionHeaderName)
          拡張ヘッダー名を設定します.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

extensionHeaderName

protected String extensionHeaderName
拡張ヘッダー名


defaultExtHeaderBehavior

protected ExtensionHeaderBehavior defaultExtHeaderBehavior
拡張ヘッダーの扱い


defaultAllows

protected HttpMethod[] defaultAllows
checkのallowsがnullだった時の許可メソッド.

この状態は、アノテーションが存在しなかった場合に発生します.


defaultAnnotationAllows

protected HttpMethod[] defaultAnnotationAllows
checkのallowsが空(length=0)だった時の許可メソッド.

この状態は、アノテーションは存在したがvalueが未設定(空)の場合に発生します.


errorHandler

protected ErrorHandler errorHandler
チェックエラー時のハンドラ

コンストラクタの詳細

HttpMethodCheckerImpl

public HttpMethodCheckerImpl()
メソッドの詳細

setExtensionHeaderName

public void setExtensionHeaderName(String extensionHeaderName)
拡張ヘッダー名を設定します.

パラメータ:
extensionHeaderName - 拡張ヘッダー名. 省略時はHttpMethodChecker.DEFAULT_EXTENSION_HEADER_NAME

setExtensionHeader

public void setExtensionHeader(ExtensionHeaderBehavior extensionHeader)
拡張ヘッダーの扱いを設定します.

パラメータ:
extensionHeader - 拡張ヘッダーの扱い. 省略時はExtensionHeaderBehavior.NOT_USE.

setDefaultAllows

public void setDefaultAllows(List<HttpMethod> defaultAllows)
HttpMethodLimitが付いて無いメソッドに対しての、デフォルトチェックメソッドを設定します.

パラメータ:
defaultAllows - 許可するHTTPメソッド. 省略時は空のリスト(チェックしない)

setDefaultAnnotationAllows

public void setDefaultAnnotationAllows(List<HttpMethod> defaultAnnotationAllows)
HttpMethodLimitの、value省略時のデフォルトチェックメソッドを設定します.

パラメータ:
defaultAnnotationAllows - 許可するHTTPメソッド. 省略時はHttpMethod.GET_POST(GET,POSTのみ)

setErrorHandler

public void setErrorHandler(ErrorHandler errorHandler)
チェックエラー時のハンドラを設定します.

パラメータ:
errorHandler - ハンドラクラス. 省略時はMethodNotAllowedErrorHandler

check

public CheckResult check(HttpServletRequest request,
                         HttpMethod[] allows,
                         ExtensionHeaderBehavior extensionHeaderBehavior)
HTTPメソッドのチェックを行います.

定義:
インタフェース HttpMethodChecker 内の check
パラメータ:
request - HTTPリクエスト
allows - 許可されているメソッド
extensionHeaderBehavior - 拡張ヘッダーの扱い
戻り値:
チェック結果

handleError

public String handleError(HttpServletRequest request,
                          HttpServletResponse response,
                          HttpMethod[] allowed,
                          String method)
チェックエラー時の処理を行います.

定義:
インタフェース HttpMethodChecker 内の handleError
パラメータ:
request - HttpServletRequest
response - HttpServletResponse
allowed - 許可されているHttpMethodの配列
method - 実際に呼び出されたメソッド
戻り値:
フォワード先のパス. フォワードしない場合nullを返すこと.

detectCurrentHttpMethod

protected String detectCurrentHttpMethod(HttpServletRequest request,
                                         ExtensionHeaderBehavior customBehavior)
現在のHTTPリクエストから、呼び出されたHTTPメソッドを抽出します.

パラメータ:
request - HTTPリクエスト
customBehavior - 個別指定の拡張ヘッダー扱い
戻り値:
HTTPメソッド. ただしHTTPヘッダーから取り出す場合、nullも含めて不明な値が入る可能性がある


Copyright © 2013 k-minemoto. All Rights Reserved.