shohaku.core.lang.feature
クラス FeatureFactory

java.lang.Object
  拡張shohaku.core.lang.feature.FeatureFactory
直系の既知のサブクラス:
DefaultFeatureFactory

public abstract class FeatureFactory
extends java.lang.Object

ライブラリの横断的な機能を生成するファクトリを提供します。

各機能の実装クラスはプロパティファイルに定義します。
デフォルトプロパティのクラスパスは "shohaku-feature-defaults.properties" です。
拡張プロパティのクラスパスは "shohaku-feature-extends.properties" です。
デフォルトプロパティの値を拡張プロパティで上書きできます。


フィールドの概要
protected  java.util.Map features
          機能のインスタンスを保持する。
 
コンストラクタの概要
protected FeatureFactory(java.util.Map properties)
          初期化ポイントです、実装クラスは公開された同シグニチャーのコンストラクタを必ず定義します。
 
メソッドの概要
 void addFeature(java.lang.Class id, java.lang.Object newFeature)
          識別子の示す機能のインスタンスを追加します。
static FeatureFactory getFactory()
          ファクトリのインスタンスを返却します。
 java.lang.Object getFeature(java.lang.Class id)
          識別子の示す機能のインスタンスを返却します。
protected static java.lang.Object getInstance(java.lang.String name)
           
static ResourceLoader getLoader()
          リソースローダ機能を生成して返却します。
static LogFeature getLog(java.lang.Class clazz)
          ログ機能を生成して返却します。
static LogFeature getLog(java.lang.String name)
          ログ機能を生成して返却します。
abstract  LogFeature getLogFeature(java.lang.Class clazz)
          ログ機能を生成して返却します。
abstract  LogFeature getLogFeature(java.lang.String name)
          ログ機能を生成して返却します。
abstract  ResourceLoader getResourceLoader()
          リソースローダ機能を生成して返却します。
protected  void initialize(java.util.Map properties)
          初期化を実行します。
protected static java.lang.Class loadClass(java.lang.String name)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

features

protected final java.util.Map features
機能のインスタンスを保持する。

コンストラクタの詳細

FeatureFactory

protected FeatureFactory(java.util.Map properties)
初期化ポイントです、実装クラスは公開された同シグニチャーのコンストラクタを必ず定義します。
シングルトンのインスタンス生成時呼び出されます。

パラメータ:
properties - 初期化パラメータ
メソッドの詳細

initialize

protected void initialize(java.util.Map properties)
初期化を実行します。拡張ポイントです。

パラメータ:
properties - 初期化パラメータ

getResourceLoader

public abstract ResourceLoader getResourceLoader()
リソースローダ機能を生成して返却します。

戻り値:
リソースローダ機能

getLogFeature

public abstract LogFeature getLogFeature(java.lang.Class clazz)
ログ機能を生成して返却します。

パラメータ:
clazz - クラス
戻り値:
ログ機能

getLogFeature

public abstract LogFeature getLogFeature(java.lang.String name)
ログ機能を生成して返却します。

パラメータ:
name - ログ名
戻り値:
ログ機能

getFeature

public java.lang.Object getFeature(java.lang.Class id)
識別子の示す機能のインスタンスを返却します。

パラメータ:
id - 識別子
戻り値:
機能のインスタンス

addFeature

public void addFeature(java.lang.Class id,
                       java.lang.Object newFeature)
識別子の示す機能のインスタンスを追加します。

パラメータ:
id - 識別子
newFeature - 追加する機能のインスタンス

getLoader

public static ResourceLoader getLoader()
リソースローダ機能を生成して返却します。
これは FeatureFactory.getFactory().getResourceLoader() と同意です。

戻り値:
リソースローダ機能

getLog

public static LogFeature getLog(java.lang.Class clazz)
ログ機能を生成して返却します。
これは FeatureFactory.getFactory().getLogFeature(clazz) と同意です。

パラメータ:
clazz - クラス
戻り値:
ログ機能

getLog

public static LogFeature getLog(java.lang.String name)
ログ機能を生成して返却します。
これは FeatureFactory.getFactory().getLogFeature(name) と同意です。

パラメータ:
name - ログ名
戻り値:
ログ機能

getFactory

public static FeatureFactory getFactory()
ファクトリのインスタンスを返却します。

戻り値:
ファクトリのインスタンス

getInstance

protected static java.lang.Object getInstance(java.lang.String name)

loadClass

protected static java.lang.Class loadClass(java.lang.String name)