org.seasar.framework.container.impl
クラス ThreadSafeS2ContainerImpl

java.lang.Object
  拡張org.seasar.framework.container.impl.S2ContainerImpl
      拡張org.seasar.framework.container.impl.ThreadSafeS2ContainerImpl
すべての実装インタフェース:
ContainerConstants, MetaDefAware, S2Container

public class ThreadSafeS2ContainerImpl
extends S2ContainerImpl

ThreadSafeな S2Containerの実装です。

作成者:
koichik

フィールドの概要
 
インタフェース org.seasar.framework.container.ContainerConstants から継承したフィールド
APPLICATION_SCOPE, COMPONENT_DEF_NAME, CONFIG_NAME, CONTAINER_NAME, COOKIE, HEADER, HEADER_VALUES, INIT_PARAM, NS_SEP, NS_SEP_STR, PACKAGE_SEP, PARAM, PARAM_VALUES, REQUEST_NAME, REQUEST_SCOPE, RESPONSE_NAME, SERVLET_CONTEXT_NAME, SESSION_NAME, SESSION_SCOPE
 
コンストラクタの概要
ThreadSafeS2ContainerImpl()
           
 
メソッドの概要
 void addMetaDef(MetaDef metaDef)
          メタデータ定義を追加します。
 void addParent(S2Container parent)
          親コンテナを追加します。
 void destroy()
          コンテナの終了処理をおこないます。
 ComponentDef[] findAllComponentDefs(java.lang.Object componentKey)
          指定されたキーに対応する複数のコンポーネント定義を検索して返します。
 ComponentDef[] findLocalComponentDefs(java.lang.Object componentKey)
          指定されたキーに対応する複数のコンポーネント定義を検索して返します。
 S2Container getChild(int index)
          番号で指定された位置の子コンテナを返します。
 int getChildSize()
          インクルードしている子コンテナの数を返します。
 java.lang.ClassLoader getClassLoader()
          クラスローダーを返します。
 ComponentDef getComponentDef(int index)
          番号で指定された位置のコンポーネント定義を返します。
 int getComponentDefSize()
          コンテナに登録されているコンポーネント定義の数を返します。
protected  int getContainerPosition(S2Container container)
          子供の位置を返します。
 S2Container getDescendant(java.lang.String path)
          pathを読み込んだS2コンテナを返します。
 ExternalContext getExternalContext()
          外部コンテキストを返します。
 ExternalContextComponentDefRegister getExternalContextComponentDefRegister()
          外部コンテキストが提供する コンポーネントを登録するオブジェクトを返します。
 MetaDef getMetaDef(int index)
          インデックス番号indexで指定されたメタデータ定義を返します。
 MetaDef getMetaDef(java.lang.String name)
          指定したメタデータ定義名で登録されているメタデータ定義を取得します。
 MetaDef[] getMetaDefs(java.lang.String name)
          指定したメタデータ定義名で登録されているメタデータ定義を取得します。
 int getMetaDefSize()
          メタデータ定義の数を返します。
 java.lang.String getNamespace()
          名前空間を返します。
 S2Container getParent(int index)
          番号で指定された位置の親コンテナを返します。
 int getParentSize()
          このコンテナをインクルードしている親コンテナの数を返します。
 boolean hasDescendant(java.lang.String path)
          pathを読み込んだS2コンテナが存在する場合trueを返します。
 void include(S2Container child)
          コンテナを子としてインクルードします。
 void init()
          コンテナの初期化を行います。
protected  ComponentDef internalGetComponentDef(java.lang.Object key)
          内部的なgetComponentDefの実装です。
 void register(ComponentDef componentDef)
          コンポーネント定義を登録します。
 void register0(ComponentDef componentDef)
          ComponentDefを登録します。
 void registerDescendant(S2Container descendant)
          descendantを子孫コンテナとして登録します。
 void registerMap(java.lang.Object key, ComponentDef componentDef, S2Container container)
          子コンテナ(container)に登録された コンポーネント定義(componentDef)をこのコンテナから検索できるよう コンポーネント定義を管理するマップに登録します。
 void setClassLoader(java.lang.ClassLoader classLoader)
          クラスローダーを設定します。
 void setExternalContext(ExternalContext externalContext)
          外部コンテキストを設定します。
 void setExternalContextComponentDefRegister(ExternalContextComponentDefRegister register)
          外部コンテキストが提供する コンポーネントを登録するオブジェクトを設定します。
 void setNamespace(java.lang.String namespace)
          名前空間を設定します。
 
クラス org.seasar.framework.container.impl.S2ContainerImpl から継承したメソッド
assertParameterIsNotEmpty, assertParameterIsNotNull, createTooManyRegistration, findAllComponents, findComponentDefs, findComponents, findLocalComponents, getComponent, getComponentDef, getPath, getRoot, hasComponentDef, injectDependency, injectDependency, injectDependency, isInitializeOnCreate, isNeedNS, register, register, register, register, registerByClass, registerByName, registerMap, registerParent, setInitializeOnCreate, setPath, setRoot, toComponentArray, toComponentDefArray
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ThreadSafeS2ContainerImpl

public ThreadSafeS2ContainerImpl()
メソッドの詳細

addMetaDef

public void addMetaDef(MetaDef metaDef)
インタフェース MetaDefAware の記述:
メタデータ定義を追加します。

定義:
インタフェース MetaDefAware 内の addMetaDef
オーバーライド:
クラス S2ContainerImpl 内の addMetaDef

addParent

public void addParent(S2Container parent)
インタフェース S2Container の記述:
親コンテナを追加します。

定義:
インタフェース S2Container 内の addParent
オーバーライド:
クラス S2ContainerImpl 内の addParent

destroy

public void destroy()
インタフェース S2Container の記述:
コンテナの終了処理をおこないます。 子コンテナを持つ場合、自分の終了処理を実行した後、子コンテナ全ての終了処理を行います。

定義:
インタフェース S2Container 内の destroy
オーバーライド:
クラス S2ContainerImpl 内の destroy

findAllComponentDefs

public ComponentDef[] findAllComponentDefs(java.lang.Object componentKey)
インタフェース S2Container の記述:
指定されたキーに対応する複数のコンポーネント定義を検索して返します。

検索の範囲は現在のS2コンテナおよび、インクルードしているS2コンテナの階層全体です。 キーに対応するコンポーネントが最初に見つかったS2コンテナとその子孫コンテナの全てを対象とします。 対象になるS2コンテナ全体から、キーに対応する全てのコンポーネント定義を配列で返します。

定義:
インタフェース S2Container 内の findAllComponentDefs
オーバーライド:
クラス S2ContainerImpl 内の findAllComponentDefs
関連項目:
S2Container.findAllComponentDefs(java.lang.Object)

findLocalComponentDefs

public ComponentDef[] findLocalComponentDefs(java.lang.Object componentKey)
インタフェース S2Container の記述:
指定されたキーに対応する複数のコンポーネント定義を検索して返します。

検索の範囲は現在のS2コンテナのみです。 現在のS2コンテナから、キーに対応する全てのコンポーネント定義を配列で返します。

定義:
インタフェース S2Container 内の findLocalComponentDefs
オーバーライド:
クラス S2ContainerImpl 内の findLocalComponentDefs
関連項目:
S2Container.findLocalComponentDefs(java.lang.Object)

getChild

public S2Container getChild(int index)
インタフェース S2Container の記述:
番号で指定された位置の子コンテナを返します。

定義:
インタフェース S2Container 内の getChild
オーバーライド:
クラス S2ContainerImpl 内の getChild

getChildSize

public int getChildSize()
インタフェース S2Container の記述:
インクルードしている子コンテナの数を返します。

定義:
インタフェース S2Container 内の getChildSize
オーバーライド:
クラス S2ContainerImpl 内の getChildSize

getClassLoader

public java.lang.ClassLoader getClassLoader()
インタフェース S2Container の記述:
クラスローダーを返します。

定義:
インタフェース S2Container 内の getClassLoader
オーバーライド:
クラス S2ContainerImpl 内の getClassLoader

getComponentDef

public ComponentDef getComponentDef(int index)
インタフェース S2Container の記述:
番号で指定された位置のコンポーネント定義を返します。

定義:
インタフェース S2Container 内の getComponentDef
オーバーライド:
クラス S2ContainerImpl 内の getComponentDef
関連項目:
S2Container.getComponentDef(int)

getComponentDefSize

public int getComponentDefSize()
インタフェース S2Container の記述:
コンテナに登録されているコンポーネント定義の数を返します。

定義:
インタフェース S2Container 内の getComponentDefSize
オーバーライド:
クラス S2ContainerImpl 内の getComponentDefSize
関連項目:
S2Container.getComponentDefSize()

getContainerPosition

protected int getContainerPosition(S2Container container)
クラス S2ContainerImpl の記述:
子供の位置を返します。

オーバーライド:
クラス S2ContainerImpl 内の getContainerPosition
パラメータ:
container -
戻り値:
子供の位置

getDescendant

public S2Container getDescendant(java.lang.String path)
インタフェース S2Container の記述:
pathを読み込んだS2コンテナを返します。

定義:
インタフェース S2Container 内の getDescendant
オーバーライド:
クラス S2ContainerImpl 内の getDescendant

getExternalContext

public ExternalContext getExternalContext()
インタフェース S2Container の記述:
外部コンテキストを返します。

定義:
インタフェース S2Container 内の getExternalContext
オーバーライド:
クラス S2ContainerImpl 内の getExternalContext

getExternalContextComponentDefRegister

public ExternalContextComponentDefRegister getExternalContextComponentDefRegister()
インタフェース S2Container の記述:
外部コンテキストが提供する コンポーネントを登録するオブジェクトを返します。

定義:
インタフェース S2Container 内の getExternalContextComponentDefRegister
オーバーライド:
クラス S2ContainerImpl 内の getExternalContextComponentDefRegister

getMetaDef

public MetaDef getMetaDef(int index)
インタフェース MetaDefAware の記述:
インデックス番号indexで指定されたメタデータ定義を返します。

インデックス番号は、追加した順に0, 1, 2…となります。

定義:
インタフェース MetaDefAware 内の getMetaDef
オーバーライド:
クラス S2ContainerImpl 内の getMetaDef

getMetaDef

public MetaDef getMetaDef(java.lang.String name)
インタフェース MetaDefAware の記述:
指定したメタデータ定義名で登録されているメタデータ定義を取得します。
メタデータ定義が登録されていない場合、nullを返します。

定義:
インタフェース MetaDefAware 内の getMetaDef
オーバーライド:
クラス S2ContainerImpl 内の getMetaDef

getMetaDefs

public MetaDef[] getMetaDefs(java.lang.String name)
インタフェース MetaDefAware の記述:
指定したメタデータ定義名で登録されているメタデータ定義を取得します。
メタデータ定義が登録されていない場合、要素数0の配列を返します。

定義:
インタフェース MetaDefAware 内の getMetaDefs
オーバーライド:
クラス S2ContainerImpl 内の getMetaDefs

getMetaDefSize

public int getMetaDefSize()
インタフェース MetaDefAware の記述:
メタデータ定義の数を返します。

定義:
インタフェース MetaDefAware 内の getMetaDefSize
オーバーライド:
クラス S2ContainerImpl 内の getMetaDefSize

getNamespace

public java.lang.String getNamespace()
インタフェース S2Container の記述:
名前空間を返します。

定義:
インタフェース S2Container 内の getNamespace
オーバーライド:
クラス S2ContainerImpl 内の getNamespace

getParent

public S2Container getParent(int index)
インタフェース S2Container の記述:
番号で指定された位置の親コンテナを返します。

定義:
インタフェース S2Container 内の getParent
オーバーライド:
クラス S2ContainerImpl 内の getParent

getParentSize

public int getParentSize()
インタフェース S2Container の記述:
このコンテナをインクルードしている親コンテナの数を返します。

定義:
インタフェース S2Container 内の getParentSize
オーバーライド:
クラス S2ContainerImpl 内の getParentSize

hasDescendant

public boolean hasDescendant(java.lang.String path)
インタフェース S2Container の記述:
pathを読み込んだS2コンテナが存在する場合trueを返します。

定義:
インタフェース S2Container 内の hasDescendant
オーバーライド:
クラス S2ContainerImpl 内の hasDescendant
関連項目:
S2Container.hasDescendant(java.lang.String)

include

public void include(S2Container child)
インタフェース S2Container の記述:
コンテナを子としてインクルードします。

定義:
インタフェース S2Container 内の include
オーバーライド:
クラス S2ContainerImpl 内の include
関連項目:
S2Container.include(org.seasar.framework.container.S2Container)

init

public void init()
インタフェース S2Container の記述:
コンテナの初期化を行います。 子コンテナを持つ場合、子コンテナを全て初期化した後、自分の初期化を行います。

定義:
インタフェース S2Container 内の init
オーバーライド:
クラス S2ContainerImpl 内の init

internalGetComponentDef

protected ComponentDef internalGetComponentDef(java.lang.Object key)
クラス S2ContainerImpl の記述:
内部的なgetComponentDefの実装です。

オーバーライド:
クラス S2ContainerImpl 内の internalGetComponentDef
パラメータ:
key -
戻り値:
ComponentDef

register

public void register(ComponentDef componentDef)
インタフェース S2Container の記述:
コンポーネント定義を登録します。

定義:
インタフェース S2Container 内の register
オーバーライド:
クラス S2ContainerImpl 内の register
関連項目:
S2Container.register(org.seasar.framework.container.ComponentDef)

register0

public void register0(ComponentDef componentDef)
クラス S2ContainerImpl の記述:
ComponentDefを登録します。

オーバーライド:
クラス S2ContainerImpl 内の register0
パラメータ:
componentDef -

registerDescendant

public void registerDescendant(S2Container descendant)
インタフェース S2Container の記述:
descendantを子孫コンテナとして登録します。

子孫コンテナとは、このコンテナに属する子のコンテナや、その子であるコンテナです。

定義:
インタフェース S2Container 内の registerDescendant
オーバーライド:
クラス S2ContainerImpl 内の registerDescendant

registerMap

public void registerMap(java.lang.Object key,
                        ComponentDef componentDef,
                        S2Container container)
インタフェース S2Container の記述:
子コンテナ(container)に登録された コンポーネント定義(componentDef)をこのコンテナから検索できるよう コンポーネント定義を管理するマップに登録します。

定義:
インタフェース S2Container 内の registerMap
オーバーライド:
クラス S2ContainerImpl 内の registerMap

setClassLoader

public void setClassLoader(java.lang.ClassLoader classLoader)
インタフェース S2Container の記述:
クラスローダーを設定します。

定義:
インタフェース S2Container 内の setClassLoader
オーバーライド:
クラス S2ContainerImpl 内の setClassLoader

setExternalContext

public void setExternalContext(ExternalContext externalContext)
インタフェース S2Container の記述:
外部コンテキストを設定します。

外部コンテキストは、 application, requestsessionなど 各インスタンス定義を提供するものです。 これらのインスタンス定義を使用するには 外部コンテキストを設定する必要があります。

定義:
インタフェース S2Container 内の setExternalContext
オーバーライド:
クラス S2ContainerImpl 内の setExternalContext

setExternalContextComponentDefRegister

public void setExternalContextComponentDefRegister(ExternalContextComponentDefRegister register)
インタフェース S2Container の記述:
外部コンテキストが提供する コンポーネントを登録するオブジェクトを設定します。

定義:
インタフェース S2Container 内の setExternalContextComponentDefRegister
オーバーライド:
クラス S2ContainerImpl 内の setExternalContextComponentDefRegister

setNamespace

public void setNamespace(java.lang.String namespace)
インタフェース S2Container の記述:
名前空間を設定します。

定義:
インタフェース S2Container 内の setNamespace
オーバーライド:
クラス S2ContainerImpl 内の setNamespace


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