org.seasar.framework.jpa.impl
クラス PersistenceUnitManagerImpl

java.lang.Object
  上位を拡張 org.seasar.framework.jpa.impl.PersistenceUnitManagerImpl
すべての実装されたインタフェース:
PersistenceUnitManager

public class PersistenceUnitManagerImpl
extends java.lang.Object
implements PersistenceUnitManager

永続ユニットを管理するコンポーネントの実装クラスです。

作成者:
koichik

入れ子のクラスの概要
static class PersistenceUnitManagerImpl.ContextMap
          永続ユニットに関する情報を保持するためのクラスです。
 
フィールドの概要
protected  PersistenceUnitManagerImpl.ContextMap contextMap
          コンテキストマップ
protected  NamingConvention convention
          ネーミング規約
protected  java.lang.String defaultPersistenceUnitName
          デフォルトの永続ユニット名
protected  PersistenceUnitProvider defaultUnitProvider
          デフォルトのPersistenceUnitProvider
protected  EntityManagerProvider entityManagerProvider
          エンティティマネージャのプロバイダ
protected static PersistenceUnitManagerImpl.ContextMap staticContextMap
          staticなコンテキストマップ
protected  boolean useStaticContext
          staticなコンテキストマップを使用する場合はtrue
 
インタフェース org.seasar.framework.jpa.PersistenceUnitManager から継承されたフィールド
DEFAULT_PERSISTENCE_UNIT_NAME
 
コンストラクタの概要
PersistenceUnitManagerImpl()
          インスタンスを構築します。
 
メソッドの概要
 void close()
          永続ユニットマネージャをクローズします。
protected  EntityManagerFactory createEntityManagerFactory(java.lang.String abstractUnitName, java.lang.String concreteUnitName, PersistenceUnitProvider provider)
          指定されたユニット名を持つEntityManagerFactoryを指定の{PersistenceUnitProvider}から作成して返します。
 java.lang.String getAbstractPersistenceUnitName(java.lang.Class<?> entityClass)
          指定のエンティティクラスを扱う抽象永続ユニット名を返します。
 java.lang.String getAbstractPersistenceUnitName(java.lang.String mappingFile)
          指定のマッピングファイルを扱う抽象永続ユニット名を返します。
protected  java.lang.String getAbstractPersistenceUnitName(java.lang.String packageName, java.lang.String path)
          リソースのパス名から抽象永続ユニット名を求めて返します。
protected  java.lang.String getAbstractPersistenceUnitPrefix(java.lang.String packageName, java.lang.String path)
          リソースのパス名から抽象永続ユニット名のプレフィックスを求めて返します。
 java.lang.String getConcretePersistenceUnitName(java.lang.Class<?> entityClass)
          指定のエンティティクラスを扱う具象永続ユニット名を返します。
 java.lang.String getConcretePersistenceUnitName(java.lang.String mappingFile)
          指定のマッピングファイルを扱う具象永続ユニット名を返します。
protected  java.lang.String getConcretePersistenceUnitName(java.lang.String packageName, java.lang.String path)
          リソースのパス名から具象永続ユニット名を求めて返します。
protected  java.lang.String getConcretePersistenceUnitPrefix(java.lang.String packageName, java.lang.String path)
          リソースのパス名から具象永続ユニット名のプレフィックスを求めて返します。
 EntityManagerFactory getEntityManagerFactory(java.lang.String unitName)
          指定されたユニット名を持つEntityManagerFactoryを返します。
 EntityManagerFactory getEntityManagerFactory(java.lang.String unitName, PersistenceUnitProvider provider)
          指定されたユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactoryを返します。
 EntityManagerFactory getEntityManagerFactory(java.lang.String abstractUnitName, java.lang.String concreteUnitName)
          指定された具象ユニット名を持つEntityManagerFactoryを返します。
 EntityManagerFactory getEntityManagerFactory(java.lang.String abstractUnitName, java.lang.String concreteUnitName, PersistenceUnitProvider provider)
          指定された具象ユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactoryを返します。
 PersistenceUnitProvider getPersistenceUnitProvider(java.lang.Class<?> entityClass)
          指定のエンティティクラスを扱うPersistenceUnitProviderのコンポーネントを返します。
 PersistenceUnitProvider getPersistenceUnitProvider(java.lang.String unitName)
          具象名で指定された永続ユニットを提供するPersistenceUnitProviderのコンポーネントを返します。
 void open()
          永続ユニットマネージャをオープンします。
 void setDefaultPersistenceUnitName(java.lang.String defaultPersistenceUnitName)
          デフォルトの永続ユニット名を設定します。
 void setUseStaticContext(boolean useStaticContext)
          staticなコンテキストマップを使用する場合はtrueを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

staticContextMap

protected static final PersistenceUnitManagerImpl.ContextMap staticContextMap
staticなコンテキストマップ


contextMap

protected PersistenceUnitManagerImpl.ContextMap contextMap
コンテキストマップ


useStaticContext

protected boolean useStaticContext
staticなコンテキストマップを使用する場合はtrue


defaultPersistenceUnitName

protected java.lang.String defaultPersistenceUnitName
デフォルトの永続ユニット名


defaultUnitProvider

protected PersistenceUnitProvider defaultUnitProvider
デフォルトのPersistenceUnitProvider


entityManagerProvider

protected EntityManagerProvider entityManagerProvider
エンティティマネージャのプロバイダ


convention

protected NamingConvention convention
ネーミング規約

コンストラクタの詳細

PersistenceUnitManagerImpl

public PersistenceUnitManagerImpl()
インスタンスを構築します。

メソッドの詳細

setUseStaticContext

public void setUseStaticContext(boolean useStaticContext)
staticなコンテキストマップを使用する場合はtrueを設定します。

パラメータ:
useStaticContext - staticなコンテキストマップを使用する場合はtrue

setDefaultPersistenceUnitName

public void setDefaultPersistenceUnitName(java.lang.String defaultPersistenceUnitName)
デフォルトの永続ユニット名を設定します。

パラメータ:
defaultPersistenceUnitName - デフォルトの永続ユニット名

open

public void open()
永続ユニットマネージャをオープンします。


close

public void close()
永続ユニットマネージャをクローズします。

staticなコンテキストマップを使用していない場合、管理下にあるEntityManagerFactoryを全てクローズします。


getEntityManagerFactory

public EntityManagerFactory getEntityManagerFactory(java.lang.String unitName)
インタフェース PersistenceUnitManager の記述:
指定されたユニット名を持つEntityManagerFactoryを返します。

定義:
インタフェース PersistenceUnitManager 内の getEntityManagerFactory
パラメータ:
unitName - ユニット名
戻り値:
指定されたユニット名を持つEntityManagerFactory

getEntityManagerFactory

public EntityManagerFactory getEntityManagerFactory(java.lang.String unitName,
                                                    PersistenceUnitProvider provider)
インタフェース PersistenceUnitManager の記述:
指定されたユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactoryを返します。

定義:
インタフェース PersistenceUnitManager 内の getEntityManagerFactory
パラメータ:
unitName - ユニット名
provider - EntityManagerFactoryを作成する{PersistenceUnitProvider}
戻り値:
指定されたユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactory

getEntityManagerFactory

public EntityManagerFactory getEntityManagerFactory(java.lang.String abstractUnitName,
                                                    java.lang.String concreteUnitName)
インタフェース PersistenceUnitManager の記述:
指定された具象ユニット名を持つEntityManagerFactoryを返します。

定義:
インタフェース PersistenceUnitManager 内の getEntityManagerFactory
パラメータ:
abstractUnitName - 抽象ユニット名
concreteUnitName - 具象ユニット名
戻り値:
指定されたユニット名を持つEntityManagerFactory

getEntityManagerFactory

public EntityManagerFactory getEntityManagerFactory(java.lang.String abstractUnitName,
                                                    java.lang.String concreteUnitName,
                                                    PersistenceUnitProvider provider)
インタフェース PersistenceUnitManager の記述:
指定された具象ユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactoryを返します。

定義:
インタフェース PersistenceUnitManager 内の getEntityManagerFactory
パラメータ:
abstractUnitName - 抽象ユニット名
concreteUnitName - 具象ユニット名
provider - EntityManagerFactoryを作成する{PersistenceUnitProvider}
戻り値:
指定されたユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactory

createEntityManagerFactory

protected EntityManagerFactory createEntityManagerFactory(java.lang.String abstractUnitName,
                                                          java.lang.String concreteUnitName,
                                                          PersistenceUnitProvider provider)
指定されたユニット名を持つEntityManagerFactoryを指定の{PersistenceUnitProvider}から作成して返します。

パラメータ:
abstractUnitName - 抽象ユニット名
concreteUnitName - 具象ユニット名
provider - EntityManagerFactoryを作成する{PersistenceUnitProvider}
戻り値:
指定されたユニット名を持ち、指定の{PersistenceUnitProvider}から作成されたEntityManagerFactory

getAbstractPersistenceUnitName

public java.lang.String getAbstractPersistenceUnitName(java.lang.Class<?> entityClass)
インタフェース PersistenceUnitManager の記述:
指定のエンティティクラスを扱う抽象永続ユニット名を返します。
SMART deployモードの場合
  1. エンティティクラスがNamingConventionに設定されているエンティティパッケージ直下のクラスの場合は デフォルトの永続ユニット名。
  2. エンティティパッケージのサブパッケージ下のクラスの場合は、サブパッケージ名をプレフィックスとしてデフォルトの永続ユニットに付加した名称。
SMART deployモードでない場合
常にデフォルトの永続ユニット名。

定義:
インタフェース PersistenceUnitManager 内の getAbstractPersistenceUnitName
パラメータ:
entityClass - エンティティクラス
戻り値:
指定のエンティティクラスを扱う抽象永続ユニット名

getAbstractPersistenceUnitName

public java.lang.String getAbstractPersistenceUnitName(java.lang.String mappingFile)
インタフェース PersistenceUnitManager の記述:
指定のマッピングファイルを扱う抽象永続ユニット名を返します。
SMART deployモードの場合
  1. マッピングファイルがNamingConventionに設定されているエンティティパッケージ直下のファイルの場合は、デフォルトの永続ユニット名。
  2. エンティティパッケージのサブパッケージ下のファイルの場合は、サブパッケージ名をプレフィックスとしてデフォルトの永続ユニットに付加した名称。
SMART deployモードでない場合
常にデフォルトの永続ユニット名。

定義:
インタフェース PersistenceUnitManager 内の getAbstractPersistenceUnitName
パラメータ:
mappingFile - マッピングファイル
戻り値:
指定のマッピングファイルを扱う抽象永続ユニット名

getConcretePersistenceUnitName

public java.lang.String getConcretePersistenceUnitName(java.lang.Class<?> entityClass)
インタフェース PersistenceUnitManager の記述:
指定のエンティティクラスを扱う具象永続ユニット名を返します。
SMART deployモードの場合
  1. エンティティクラスがNamingConventionに設定されているエンティティパッケージ直下のクラスの場合
    1. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていれば、 そのプレフィックスをデフォルトの永続ユニット名に付加した名称。
    2. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていなければ、 デフォルトの永続ユニット名。
  2. エンティティパッケージのサブパッケージ下のクラスの場合は、サブパッケージ名をプレフィックスとしてデフォルトの永続ユニットに付加した名称。
SMART deployモードでない場合
常にデフォルトの永続ユニット名。

定義:
インタフェース PersistenceUnitManager 内の getConcretePersistenceUnitName
パラメータ:
entityClass - エンティティクラス
戻り値:
指定のエンティティクラスを扱う具象永続ユニット名

getConcretePersistenceUnitName

public java.lang.String getConcretePersistenceUnitName(java.lang.String mappingFile)
インタフェース PersistenceUnitManager の記述:
指定のマッピングファイルを扱う具象永続ユニット名を返します。
SMART deployモードの場合
  1. マッピングファイルがNamingConventionに設定されているエンティティパッケージ直下のファイルの場合
    1. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていれば、 そのプレフィックスをデフォルトの永続ユニット名に付加した名称。
    2. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていなければ、 デフォルトの永続ユニット名。
  2. エンティティパッケージのサブパッケージ下のファイルの場合は、サブパッケージ名をプレフィックスとしてデフォルトの永続ユニットに付加した名称。
SMART deployモードでない場合
常にデフォルトの永続ユニット名。

定義:
インタフェース PersistenceUnitManager 内の getConcretePersistenceUnitName
パラメータ:
mappingFile - マッピングファイル
戻り値:
指定のマッピングファイルを扱う具象永続ユニット名

getPersistenceUnitProvider

public PersistenceUnitProvider getPersistenceUnitProvider(java.lang.Class<?> entityClass)
インタフェース PersistenceUnitManager の記述:
指定のエンティティクラスを扱うPersistenceUnitProviderのコンポーネントを返します。
SMART deployモードの場合
  1. エンティティクラスがNamingConventionに設定されているエンティティパッケージ直下のクラスの場合
    1. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていれば、 そのプレフィックスをデフォルトの永続ユニット名に付加した名称を持つ永続プロバイダ。
    2. DataSourceFactory.setSelectableDataSourceName(String)にプレフィックスが設定されていなければ、 デフォルトの永続ユニット名を持つ永続プロバイダ。
  2. エンティティパッケージのサブパッケージ下のクラスの場合は、サブパッケージ名をプレフィックスとしてデフォルトの永続ユニットに付加した名称を持つ永続プロバイダ。
SMART deployモードでない場合
常にデフォルトの永続ユニット名を持つ永続プロバイダ。

定義:
インタフェース PersistenceUnitManager 内の getPersistenceUnitProvider
パラメータ:
entityClass - エンティティクラス
戻り値:
指定のエンティティクラスを扱うPersistenceUnitProviderのコンポーネント

getPersistenceUnitProvider

public PersistenceUnitProvider getPersistenceUnitProvider(java.lang.String unitName)
インタフェース PersistenceUnitManager の記述:
具象名で指定された永続ユニットを提供するPersistenceUnitProviderのコンポーネントを返します。

定義:
インタフェース PersistenceUnitManager 内の getPersistenceUnitProvider
パラメータ:
unitName - 永続ユニットの具象名
戻り値:
具象名で指定された永続ユニットを提供するPersistenceUnitProviderのコンポーネント

getAbstractPersistenceUnitName

protected java.lang.String getAbstractPersistenceUnitName(java.lang.String packageName,
                                                          java.lang.String path)
リソースのパス名から抽象永続ユニット名を求めて返します。

パラメータ:
packageName - エンティティのパッケージ名
path - リソースのパス名
戻り値:
リソースのパス名から求めた抽象永続ユニット名

getConcretePersistenceUnitName

protected java.lang.String getConcretePersistenceUnitName(java.lang.String packageName,
                                                          java.lang.String path)
リソースのパス名から具象永続ユニット名を求めて返します。

パラメータ:
packageName - エンティティのパッケージ名
path - リソースのパス名
戻り値:
リソースのパス名から求めた具象永続ユニット名

getAbstractPersistenceUnitPrefix

protected java.lang.String getAbstractPersistenceUnitPrefix(java.lang.String packageName,
                                                            java.lang.String path)
リソースのパス名から抽象永続ユニット名のプレフィックスを求めて返します。

パラメータ:
packageName - エンティティのパッケージ名
path - リソースのパス名
戻り値:
リソースのパス名から求めた永続ユニット名のプレフィックス

getConcretePersistenceUnitPrefix

protected java.lang.String getConcretePersistenceUnitPrefix(java.lang.String packageName,
                                                            java.lang.String path)
リソースのパス名から具象永続ユニット名のプレフィックスを求めて返します。

パラメータ:
packageName - エンティティのパッケージ名
path - リソースのパス名
戻り値:
リソースのパス名から求めた具象永続ユニット名のプレフィックス


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.