robbie.dao.x
クラス XDaoFactory

java.lang.Object
  拡張robbie.dao.x.XDaoFactory
すべての実装インタフェース:
java.io.Serializable

public class XDaoFactory
extends java.lang.Object
implements java.io.Serializable

XDAOFactoryクラス。

指定された制御ファイルに基づいて、DAOインスタンスを生成します。

関連項目:
直列化された形式

フィールドの概要
protected  java.util.Map daoNameMap
          DAOのクラス名を管理するMap
protected  java.util.Map daoResRefMap
          DAOと利用するDbResourceの関連を管理するMap
protected  java.lang.String filepath
          制御ファイルのFilepath
protected  boolean isValidate
          XMLのロード時に検証を行うか。
protected  long lastModifiedTimestamp
          ファイルの更新日時
protected  XQueryFactory queryFactory
          XQueryFactoryのインスタンス
protected  XDbResourceFactory resourceFactory
          XDBResourceFactoryのインスタンス
protected  java.lang.String xDBResourceFactoryClassName
          XDbResourceFactoryのClass名
protected  java.lang.String xQueryFactoryClassName
          XQueryFactoryのClass名
 
コンストラクタの概要
XDaoFactory(java.io.InputStream inputStream)
          指定したInputStreamから制御ファイルを読込み初期化をおこないます。
XDaoFactory(java.lang.String filename)
          ファイル名から制御ファイルを読込み初期化をおこないます。
 
メソッドの概要
protected  void configure(java.io.InputStream inputStream)
          全ての制御情報を更新します。
protected  void configureQueryFactory(org.jdom.Element root)
          XQueryFactoryクラスを作成します。
protected  void configureResourceFactory(org.jdom.Element root)
          XDbResourceFactoryクラスを作成します。
protected  void conifgureDAOMap(org.jdom.Element root)
          DAOのクラス名と対象リソース名のMapファイルをロードする。
 XDao createDaoInstance(java.lang.String id)
          DAOインスタンスを取得する。
 XDao createDaoInstance(java.lang.String id, java.lang.ClassLoader loader)
          DAOインスタンスを取得する。
protected  org.jdom.Element loadRootElemet(java.io.InputStream inputStream)
          InputStreamから制御XMLのElementを読み込みます。
protected  void reconfigureIfNeeded()
          制御ファイルのタイムスタンプが更新されていれば、制御情報をリロードする。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

xQueryFactoryClassName

protected java.lang.String xQueryFactoryClassName
XQueryFactoryのClass名


xDBResourceFactoryClassName

protected java.lang.String xDBResourceFactoryClassName
XDbResourceFactoryのClass名


filepath

protected java.lang.String filepath
制御ファイルのFilepath


queryFactory

protected XQueryFactory queryFactory
XQueryFactoryのインスタンス


resourceFactory

protected XDbResourceFactory resourceFactory
XDBResourceFactoryのインスタンス


daoNameMap

protected java.util.Map daoNameMap
DAOのクラス名を管理するMap


daoResRefMap

protected java.util.Map daoResRefMap
DAOと利用するDbResourceの関連を管理するMap


lastModifiedTimestamp

protected long lastModifiedTimestamp
ファイルの更新日時


isValidate

protected boolean isValidate
XMLのロード時に検証を行うか。デフォルトは行わない

コンストラクタの詳細

XDaoFactory

public XDaoFactory(java.lang.String filename)
ファイル名から制御ファイルを読込み初期化をおこないます。

引数のfilenameは、ファイル名だけでもファイルのPATHでも指定することが可能です。 ただし、ファイル名を指定する場合には、そのファイルがclasspath内に配置されている 必要があります。

また、JARファイル内で見つかった場合には、リロード処理は行いません。 通常のディレクトリ内で見つかった場合にはファイルスタンプを確認して リロード処理を行います。

パラメータ:
filename - 制御ファイル

XDaoFactory

public XDaoFactory(java.io.InputStream inputStream)
指定したInputStreamから制御ファイルを読込み初期化をおこないます。

パラメータ:
inputStream - 指定したInputStream
メソッドの詳細

createDaoInstance

public XDao createDaoInstance(java.lang.String id,
                              java.lang.ClassLoader loader)
DAOインスタンスを取得する。

新規のDAOを作成するときは、その時の最新の制御XMLの内容が 反映される。

パラメータ:
id - DAOのID
loader - 作成するインスタンスを検索するClassLoader
戻り値:
xDAOインスタンス

createDaoInstance

public XDao createDaoInstance(java.lang.String id)
DAOインスタンスを取得する。

新規のDAOを作成するときは、その時の最新の制御XMLの内容が 反映される。

パラメータ:
id - DAOのID
戻り値:
xDAOインスタンス

configure

protected void configure(java.io.InputStream inputStream)
全ての制御情報を更新します。

この処理は同期化されています。

パラメータ:
inputStream - RootElementを読み込むためのInputStream

reconfigureIfNeeded

protected void reconfigureIfNeeded()
制御ファイルのタイムスタンプが更新されていれば、制御情報をリロードする。

制御ファイルがその他のInputStreamから読み込まれた場合には何もしない。


loadRootElemet

protected org.jdom.Element loadRootElemet(java.io.InputStream inputStream)
InputStreamから制御XMLのElementを読み込みます。

パラメータ:
inputStream - RootElementを読み込むためのInputStream
戻り値:
rootのElement

configureResourceFactory

protected void configureResourceFactory(org.jdom.Element root)
XDbResourceFactoryクラスを作成します。

パラメータ:
root - 制御XMLのrootのElement

conifgureDAOMap

protected void conifgureDAOMap(org.jdom.Element root)
DAOのクラス名と対象リソース名のMapファイルをロードする。

パラメータ:
root - 制御XMLのrootのElement

configureQueryFactory

protected void configureQueryFactory(org.jdom.Element root)
XQueryFactoryクラスを作成します。

パラメータ:
root - 制御XMLのrootのElement