org.seasar.cubby.routing.impl
クラス PathResolverImpl

java.lang.Object
  上位を拡張 org.seasar.cubby.routing.impl.PathResolverImpl
すべての実装されたインタフェース:
DetectClassProcessor, PathResolver, Disposable

public class PathResolverImpl
extends Object
implements PathResolver, DetectClassProcessor, Disposable

クラスパスから Action を検索し、クラス名やメソッド名、そのクラスやメソッドに指定された Path の情報からアクションのパスを抽出し、リクエストされたパスをどのメソッドに振り分けるかを決定します。

導入されたバージョン:
1.0.0
作成者:
baba

コンストラクタの概要
PathResolverImpl()
          インスタンス化します。
 
メソッドの概要
 void add(String actionPath, Class<? extends Action> actionClass, String methodName)
          ルーティング情報を登録します。
 void add(String actionPath, Class<? extends Action> actionClass, String methodName, RequestMethod... requestMethods)
          ルーティング情報を登録します。
 String buildInternalForwardPath(Map<String,String[]> parameters, String characterEncoding)
          内部フォワードパスを構築します。
 void dispose()
          
 InternalForwardInfo getInternalForwardInfo(String path, String requestMethod, String characterEncoding)
          指定されたパスとメソッドからフォワードするための情報を抽出します。
 List<Routing> getRoutings()
          ルーティング情報を取得します。
 void initialize()
          初期化します。
 void processClass(String packageName, String shortClassName)
          クラスが検出された時に呼び出されるメソッドです。
 String reverseLookup(Class<? extends Action> actionClass, String methodName, Map<String,String[]> parameters, String characterEncoding)
          指定されたアクションクラス、メソッド名、パラメータからパスを逆引きします。
 void setClassDetector(ClassDetector classDetector)
          クラスパスを走査してクラスを検出するクラスを設定します。
 void setNamingConvention(NamingConvention namingConvention)
          命名規約を設定します。
 void setPathTemplateParser(PathTemplateParser pathTemplateParser)
          パステンプレートのパーサーを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PathResolverImpl

public PathResolverImpl()
インスタンス化します。

メソッドの詳細

getRoutings

public List<Routing> getRoutings()
ルーティング情報を取得します。

定義:
インタフェース PathResolver 内の getRoutings
戻り値:
ルーティング情報

setClassDetector

public void setClassDetector(ClassDetector classDetector)
クラスパスを走査してクラスを検出するクラスを設定します。

パラメータ:
classDetector - クラスパスを走査してクラスを検出するクラス

setPathTemplateParser

public void setPathTemplateParser(PathTemplateParser pathTemplateParser)
パステンプレートのパーサーを設定します。

パラメータ:
pathTemplateParser - パステンプレートのパーサー

initialize

public void initialize()
初期化します。


dispose

public void dispose()

定義:
インタフェース Disposable 内の dispose

add

public void add(String actionPath,
                Class<? extends Action> actionClass,
                String methodName)
ルーティング情報を登録します。

クラスパスを検索して自動登録されるルーティング情報以外にも、このメソッドによって手動でルーティング情報を登録できます。

パラメータ:
actionPath - アクションのパス
actionClass - アクションクラス
methodName - アクションメソッド名

add

public void add(String actionPath,
                Class<? extends Action> actionClass,
                String methodName,
                RequestMethod... requestMethods)
ルーティング情報を登録します。

クラスパスを検索して自動登録されるルーティング情報以外にも、このメソッドによって手動でルーティング情報を登録できます。

定義:
インタフェース PathResolver 内の add
パラメータ:
actionPath - アクションのパス
actionClass - アクションクラス
methodName - アクションメソッド名
requestMethods - リクエストメソッド
関連項目:
自動設定の際のプライオリティ

getInternalForwardInfo

public InternalForwardInfo getInternalForwardInfo(String path,
                                                  String requestMethod,
                                                  String characterEncoding)
指定されたパスとメソッドからフォワードするための情報を抽出します。

パスにマッチするパターンがない場合は null を返します。

定義:
インタフェース PathResolver 内の getInternalForwardInfo
パラメータ:
path - パス
requestMethod - HTTPメソッド
characterEncoding - URI のエンコーディング
戻り値:
フォワード情報

buildInternalForwardPath

public String buildInternalForwardPath(Map<String,String[]> parameters,
                                       String characterEncoding)
内部フォワードパスを構築します。

定義:
インタフェース PathResolver 内の buildInternalForwardPath
パラメータ:
parameters - パラメータ
characterEncoding - URI のエンコーディング
戻り値:
内部フォワードパス

setNamingConvention

public void setNamingConvention(NamingConvention namingConvention)
命名規約を設定します。

パラメータ:
namingConvention - 命名規約

reverseLookup

public String reverseLookup(Class<? extends Action> actionClass,
                            String methodName,
                            Map<String,String[]> parameters,
                            String characterEncoding)
指定されたアクションクラス、メソッド名、パラメータからパスを逆引きします。

定義:
インタフェース PathResolver 内の reverseLookup
パラメータ:
actionClass - アクションクラス
methodName - メソッド名
parameters - パラメータ
characterEncoding - URI のエンコーディング
戻り値:
リダイレクト用のパス

processClass

public void processClass(String packageName,
                         String shortClassName)
クラスが検出された時に呼び出されるメソッドです。

指定されたパッケージ名、クラス名から導出されるクラスがアクションクラスだった場合はルーティングを登録します。

定義:
インタフェース DetectClassProcessor 内の processClass
パラメータ:
packageName - パッケージ名
shortClassName - クラス短縮名


Copyright © 2006-2009 The Seasar Foundation. All Rights Reserved.