FlatServe
1.0

com.small_it_office.flatserve.core.config
クラス Config

java.lang.Object
  上位を拡張 com.small_it_office.flatserve.core.config.Config

public class Config
extends java.lang.Object

FlatServeに対する設定を表すクラスです。

FlatServeでは、設定をファイルに記述するのではなく、このクラスのオブジェクトに格納します。 ApplicationInitializerクラスがこのクラスのオブジェクトを生成し、必要な設定値を格納します。

このオブジェクトに格納することができる設定項目は下記の通りです。

設定項目 説明 設定メソッド デフォルト値
リクエストエンコーディング HTTPリクエストボディの文字エンコーディング。 リクエストのContent-Typeがapplication/x-www-form-urlencodedの場合のみ有効。 setRequestEncoding(String) UTF-8
ロケール H実行時のロケール。ログなどのメッセージに適用される。 setLocale(Locale) システムのデフォルトロケール
パッケージ名共通部 HTTPサービスクラス全体に共通するパッケージの先頭部分の文字列。 たとえば、すべてのHTTPサービスクラスのパッケージがcom.foo.barで始まる場合、 setPackagePrefix("com.foo.bar")を設定することで、呼出URLを短縮することが可能。 setPackagePrefix(String) なし
サービスクラスマッピング URIとHTTPサービスクラスのマッピング。 たとえば、"/foo"という文字列をfoo.Fooクラスにマッピングすると、 /contxtroot/foo/service.lsというURIでリクエストを受信した場合にfoo.Fooクラスのserviceメソッドが サービスメソッドとして実行される。 addRequestPathMapping(String, Class), addRequestPathMapping(Map), addRequestPathMapping(Properties) なし
プラグイン自動検出 クラスパス上のプラグインを自動で読み込む設定。 trueの場合は、クラスパス上にあるプラグインを全て自動的に読み込み、利用する。 falseの場合は、「プラグイン選択」(addAvailablePlugin(Class))で指定したプラグイン以外は読み込まない。 setPluginAutoDetect(boolean) true
プラグイン選択 利用するプラグインの指定。 指定したプラグイン以外読み込まない。 ただし、「プラグイン自動検出」が有効な場合は無視される。 addAvailablePlugin(Class) なし
HTTPサービスがない場合のフォワード先URL リクエストURLに該当するHTTPサービスクラスまたはHTTPサービスメソッドが存在しない場合に、フォワードするURL。 nullの場合にはフォワードせず、空のHTTPボディをレスポンスで返します。 setServiceNotFoundForwardUrl(String) null
オプション設定 プラグインで必要とする固有の設定オブジェクト。 addOptionalConfig(Object) なし


コンストラクタの概要
Config()
           
 
メソッドの概要
 void addAvailablePlugin(java.lang.Class<? extends Plugin> pluginClass)
          適用するプラグインを指定します。
 void addOptionalConfig(java.lang.Object config)
          プラグインによるオプション設定を追加します。
 void addRequestPathMapping(java.util.Map<java.lang.String,java.lang.Class<?>> mapping)
          サービスクラスのマッピングを追加します。
 void addRequestPathMapping(java.util.Properties properties)
          HTTPサービスクラスのマッピングを追加します。
 void addRequestPathMapping(java.lang.String requestPath, java.lang.Class<?> serviceClass)
          サービスクラスマッピングを追加します。
 java.util.Locale getLocale()
          実行時のロケールを返します。
<T> T
getOptionalConfig(java.lang.Class<T> configType)
          オプション設定を返します。
 java.lang.String getPackagePrefix()
          パッケージ名共通部の設定を返します。
 java.lang.String getRequestEncoding()
          リクエストエンコーディングの設定を返します。
 java.lang.String getServiceNotFoundForwardUrl()
          リクエストURLに対応するHTTPサービスクラス・メソッドが存在しない場合にフォワードするURLを返します。
 boolean isAvailablePlugin(java.lang.String pluginClassName)
          文字列で指定した名前のクラスが、適用されるプラグインとして指定されているかどうかを返します。
 boolean isPluginAutoDetect()
          プラグインをクラスパス上から自動的にプラグインを探し出すかどうかを返します。
 java.lang.Class<?> pathToClass(java.lang.String requestPath)
          サービスクラスマッピングが設定されている場合、リクエストパスに対するHTTPサービスクラスを返します。
 void setLocale(java.util.Locale locale)
          実行時のロケールを設定します。
 void setPackagePrefix(java.lang.String packagePrefix)
          パッケージ名共通部を設定します。
 void setPluginAutoDetect(boolean autoDetect)
          プラグインをクラスパス上から自動的にプラグインを探し出すかどうかを設定します。
 void setRequestEncoding(java.lang.String requestEncoding)
          リクエストエンコーディングを設定します。
 void setServiceNotFoundForwardUrl(java.lang.String serviceNotFoundForwardUrl)
          リクエストURLに対応するHTTPサービスクラス・メソッドが存在しない場合にフォワードするURLを設定します。
 java.lang.String toString()
          このオブジェクトが持つ設定内容を文字列にして返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Config

public Config()
メソッドの詳細

getPackagePrefix

public java.lang.String getPackagePrefix()
パッケージ名共通部の設定を返します。

戻り値:
パッケージ名共通部

pathToClass

public java.lang.Class<?> pathToClass(java.lang.String requestPath)
サービスクラスマッピングが設定されている場合、リクエストパスに対するHTTPサービスクラスを返します。

パラメータ:
requestPath - リクエストパス
戻り値:
パスにマッピングされたHTTPサービスクラス。マッピングが設定されていなければnull。

getRequestEncoding

public java.lang.String getRequestEncoding()
リクエストエンコーディングの設定を返します。

戻り値:
リクエストエンコーディング

getOptionalConfig

public <T> T getOptionalConfig(java.lang.Class<T> configType)
オプション設定を返します。 オプション設定はプラグインが使用します。オブジェクトの型はプラグインによって異なります。

型パラメータ:
T - オプション設定オブジェクトの型
パラメータ:
configType - オプション設定オブジェクトの型を表すクラス
戻り値:
オプション設定

addRequestPathMapping

public void addRequestPathMapping(java.lang.String requestPath,
                                  java.lang.Class<?> serviceClass)
サービスクラスマッピングを追加します。 リクエストパスは、コンテキストルートの下の階層から、先頭に"/"を含めたものを設定します。

パラメータ:
requestPath - リクエストパス
serviceClass - HTTPサービスクラス

addRequestPathMapping

public void addRequestPathMapping(java.util.Map<java.lang.String,java.lang.Class<?>> mapping)
サービスクラスのマッピングを追加します。 リクエストパスは、コンテキストルートの下の階層から、先頭に"/"を含めたものを設定します。

パラメータ:
mapping - リクエストパスとHTTPサービスクラスのマッピング

addRequestPathMapping

public void addRequestPathMapping(java.util.Properties properties)
HTTPサービスクラスのマッピングを追加します。 このメソッドでは、マッピング情報をプロパティファイルに記述した場合など、 ファイルからロードしたPropertiesオブジェクトをそのまま引数に渡すことができます。 プロパティは、
 リクエストパス=HTTPサービスクラス名
 
の形式である必要があります。 リクエストパスは、コンテキストルートの下の階層から、先頭に"/"を含めたものを設定します。

パラメータ:
properties - リクエストパスとHTTPサービスクラス名のマッピング

setPackagePrefix

public void setPackagePrefix(java.lang.String packagePrefix)
パッケージ名共通部を設定します。

パラメータ:
packagePrefix - パッケージ名共通部

setRequestEncoding

public void setRequestEncoding(java.lang.String requestEncoding)
リクエストエンコーディングを設定します。 指定しない場合、デフォルトとしてUTF-8が適用されます。

パラメータ:
requestEncoding - リクエストエンコーディング

getLocale

public java.util.Locale getLocale()
実行時のロケールを返します。

戻り値:
実行時のロケール

setLocale

public void setLocale(java.util.Locale locale)
実行時のロケールを設定します。

ログメッセージや例外メッセージをリソースバンドルとして読み込む際に、指定したロケールが適用されます。 設定しない場合、システムのデフォルトが適用されます。

ただし、アプリケーション初期化クラスの実行が完了するまでは、設定オブジェクトの内容が反映されないため、 必ずシステムのデフォルトロケールが適用されます。

パラメータ:
locale - 実行時のロケール

addAvailablePlugin

public void addAvailablePlugin(java.lang.Class<? extends Plugin> pluginClass)
適用するプラグインを指定します。 指定した以外のプラグインはクラスパス上に会っても読み込まれなくなります。プラグインの指定はいくつでも追加できます。 このメソッドを実行すると、isPluginAutoDetect()メソッドはfalseを返すように設定されます。 再度setPluginAutoDetect(boolean)でtrueを設定した場合、 このメソッドによるプラグインの指定は無視されます。

パラメータ:
pluginClass - アプリケーションで使用するプラグインを表すクラス

isAvailablePlugin

public boolean isAvailablePlugin(java.lang.String pluginClassName)
文字列で指定した名前のクラスが、適用されるプラグインとして指定されているかどうかを返します。

パラメータ:
pluginClassName - Pluginインターフェースを実装したクラスの完全修飾名。
戻り値:
引数がaddAvailablePlugin(Class)メソッドで追加されたクラスの名前であればtrue。

setPluginAutoDetect

public void setPluginAutoDetect(boolean autoDetect)
プラグインをクラスパス上から自動的にプラグインを探し出すかどうかを設定します。

パラメータ:
autoDetect - trueならクラスパス上のプラグインをすべて読み込み・適用する。

isPluginAutoDetect

public boolean isPluginAutoDetect()
プラグインをクラスパス上から自動的にプラグインを探し出すかどうかを返します。

戻り値:
自動でプラグインを探し出す設定であればtrue。デフォルト値はtrue。

getServiceNotFoundForwardUrl

public java.lang.String getServiceNotFoundForwardUrl()
リクエストURLに対応するHTTPサービスクラス・メソッドが存在しない場合にフォワードするURLを返します。

戻り値:
serviceNotFoundForwardUrl フォワード先のURL。

setServiceNotFoundForwardUrl

public void setServiceNotFoundForwardUrl(java.lang.String serviceNotFoundForwardUrl)
リクエストURLに対応するHTTPサービスクラス・メソッドが存在しない場合にフォワードするURLを設定します。

HTTPサービスクラス・メソッドが存在しない場合には、HTTPステータスコード404を返します。 このとき、デフォルトではレスポンスボディが空の状態ですが、フォワード先のURLを指定することでブラウザ上で任意の画面を表示することができます。

設定値がnull(デフォルト)の場合は空のHTTPボディを返します。

パラメータ:
serviceNotFoundForwardUrl - フォワード先のURL。

addOptionalConfig

public void addOptionalConfig(java.lang.Object config)
プラグインによるオプション設定を追加します。 プラグインを使用する際、プラグインによってはオプション設定オブジェクトを追加する必要があります。 オプション設定オブジェクトの型は、プラグインによって異なります。

パラメータ:
config - オプション設定オブジェクト

toString

public java.lang.String toString()
このオブジェクトが持つ設定内容を文字列にして返します。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:

FlatServe
1.0