|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.framework.container.impl.S2ContainerImpl
S2Container
の実装クラスです。
フィールドの概要 |
インタフェース 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 |
コンストラクタの概要 | |
S2ContainerImpl()
S2ContainerImpl を作成します。 |
メソッドの概要 | |
void |
addMetaDef(MetaDef metaDef)
メタデータ定義を追加します。 |
void |
addParent(S2Container parent)
親コンテナを追加します。 |
protected void |
assertParameterIsNotEmpty(java.lang.String parameter,
java.lang.String name)
パラメータが空でないことを表明します。 |
protected void |
assertParameterIsNotNull(java.lang.Object parameter,
java.lang.String name)
パラメータが null でないことを表明します。 |
static ComponentDef |
createTooManyRegistration(java.lang.Object key,
ComponentDef currentComponentDef,
ComponentDef newComponentDef)
TooManyRegistrationComponentDef を作成します。 |
void |
destroy()
コンテナの終了処理をおこないます。 |
ComponentDef[] |
findAllComponentDefs(java.lang.Object componentKey)
指定されたキーに対応する複数のコンポーネント定義を検索して返します。 |
java.lang.Object[] |
findAllComponents(java.lang.Object componentKey)
指定されたキーに対応する複数のコンポーネントを検索して返します。 |
ComponentDef[] |
findComponentDefs(java.lang.Object key)
指定されたキーに対応する複数のコンポーネント定義を検索して返します。 |
java.lang.Object[] |
findComponents(java.lang.Object componentKey)
指定されたキーに対応する複数のコンポーネントを検索して返します。 |
ComponentDef[] |
findLocalComponentDefs(java.lang.Object componentKey)
指定されたキーに対応する複数のコンポーネント定義を検索して返します。 |
java.lang.Object[] |
findLocalComponents(java.lang.Object componentKey)
指定されたキーに対応する複数のコンポーネントを検索して返します。 |
S2Container |
getChild(int index)
番号で指定された位置の子コンテナを返します。 |
int |
getChildSize()
インクルードしている子コンテナの数を返します。 |
java.lang.ClassLoader |
getClassLoader()
クラスローダーを返します。 |
java.lang.Object |
getComponent(java.lang.Object componentKey)
指定されたキーに対応するコンポーネントを返します。 |
ComponentDef |
getComponentDef(int index)
番号で指定された位置のコンポーネント定義を返します。 |
ComponentDef |
getComponentDef(java.lang.Object key)
指定されたキーに対応するコンポーネント定義を返します。 |
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()
このコンテナをインクルードしている親コンテナの数を返します。 |
java.lang.String |
getPath()
設定ファイルの path を返します。 |
S2Container |
getRoot()
ルートのS2コンテナを返します。 |
boolean |
hasComponentDef(java.lang.Object componentKey)
指定されたキーに対応するコンポーネント定義が存在する場合 true を返します。 |
boolean |
hasDescendant(java.lang.String path)
path を読み込んだS2コンテナが存在する場合true を返します。 |
void |
include(S2Container child)
コンテナを子としてインクルードします。 |
void |
init()
コンテナの初期化を行います。 |
void |
injectDependency(java.lang.Object outerComponent)
outerComponent のクラスをキーとして登録された
コンポーネント定義 に従って、必要なコンポーネントのインジェクションを実行します。
|
void |
injectDependency(java.lang.Object outerComponent,
java.lang.Class componentClass)
componentClass をキーとして登録された コンポーネント定義 に従って、必要なコンポーネントのインジェクションを実行します。
|
void |
injectDependency(java.lang.Object outerComponent,
java.lang.String componentName)
componentName をキーとして登録された コンポーネント定義 に従って、インジェクションを実行します。
|
protected ComponentDef |
internalGetComponentDef(java.lang.Object key)
内部的なgetComponentDefの実装です。 |
boolean |
isInitializeOnCreate()
コンテナ作成時に初期化する場合 true を返します。 |
protected boolean |
isNeedNS(java.lang.Object key,
ComponentDef cd)
名前空間が必要かどうかを返します。 |
void |
register(java.lang.Class componentClass)
クラスをコンポーネント定義として登録します。 |
void |
register(java.lang.Class componentClass,
java.lang.String componentName)
指定された名前でクラスをコンポーネント定義として登録します。 |
void |
register(ComponentDef componentDef)
コンポーネント定義を登録します。 |
void |
register(java.lang.Object component)
コンポーネントを登録します。 |
void |
register(java.lang.Object component,
java.lang.String componentName)
指定された名前でコンポーネントを登録します。 |
void |
register0(ComponentDef componentDef)
ComponentDef を登録します。 |
protected void |
registerByClass(ComponentDef componentDef)
Class をキーにして ComponentDef を登録します。 |
protected void |
registerByName(ComponentDef componentDef)
名前をキーにして ComponentDef を登録します。 |
void |
registerDescendant(S2Container descendant)
descendant を子孫コンテナとして登録します。
|
protected void |
registerMap(java.lang.Object key,
ComponentDef componentDef)
キャッシュに ComponentDef を登録します。 |
void |
registerMap(java.lang.Object key,
ComponentDef componentDef,
S2Container container)
子コンテナ( container )に登録された コンポーネント定義(componentDef )をこのコンテナから検索できるよう
コンポーネント定義を管理するマップに登録します。 |
protected void |
registerParent(java.lang.Object key,
ComponentDef componentDef)
S2Container のネストが深くなってもパフォーマンスが落ちないように親に ComponentDef を登録します。 |
void |
setClassLoader(java.lang.ClassLoader classLoader)
クラスローダーを設定します。 |
void |
setExternalContext(ExternalContext externalContext)
外部コンテキストを設定します。 |
void |
setExternalContextComponentDefRegister(ExternalContextComponentDefRegister register)
外部コンテキスト が提供する コンポーネントを登録するオブジェクトを設定します。 |
void |
setInitializeOnCreate(boolean initializeOnCreate)
コンテナ作成時に初期化する場合 true を設定します。 |
void |
setNamespace(java.lang.String namespace)
名前空間を設定します。 |
void |
setPath(java.lang.String path)
設定ファイルの path を設定します。 |
void |
setRoot(S2Container root)
ルートのS2コンテナを設定します。 |
protected java.lang.Object[] |
toComponentArray(java.lang.Object componentKey,
ComponentDef[] componentDefs)
コンポーネントの配列に変換します。 |
protected ComponentDef[] |
toComponentDefArray(ComponentDef cd)
ComponentDef の配列に変換します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public S2ContainerImpl()
S2ContainerImpl
を作成します。
メソッドの詳細 |
public S2Container getRoot()
S2Container
の記述:
S2Container
内の getRoot
public void setRoot(S2Container root)
S2Container
の記述:
S2Container
内の setRoot
root
- S2コンテナpublic java.lang.Object getComponent(java.lang.Object componentKey)
S2Container
の記述: キーが文字列の場合、名前が一致するコンポーネントを返します。 キーがクラスまたはインターフェースの場合、キーの型に代入可能なコンポーネントを返します。
S2Container
内の getComponent
componentKey
- コンポーネントを取得するためのキー
S2Container.getComponent(java.lang.Object)
public java.lang.Object[] findComponents(java.lang.Object componentKey)
S2Container
の記述: 検索の範囲は現在のS2コンテナおよび、インクルードしているS2コンテナの階層全体です。 キーに対応するコンポーネントが最初に見つかったS2コンテナを対象とします。 このS2コンテナから,キーに対応する全てのコンポーネントを配列で返します。 返される配列に含まれるコンポーネントは全て同一のS2コンテナに登録されたものです。
S2Container
内の findComponents
componentKey
- コンポーネントを取得するためのキー
S2Container.getComponent(java.lang.Object)
public java.lang.Object[] findAllComponents(java.lang.Object componentKey) throws CyclicReferenceRuntimeException
S2Container
の記述: 検索の範囲は現在のS2コンテナおよび、インクルードしているS2コンテナの階層全体です。 キーに対応するコンポーネントが最初に見つかったS2コンテナとその子孫コンテナの全てを対象とします。 対象になるS2コンテナ全体から、キーに対応する全てのコンポーネントを配列で返します。
S2Container
内の findAllComponents
componentKey
- コンポーネントを取得するためのキー
CyclicReferenceRuntimeException
- コンストラクタ・インジェクションでコンポーネントの参照が循環している場合S2Container.findComponents(java.lang.Object)
,
S2Container.findLocalComponents(java.lang.Object)
public java.lang.Object[] findLocalComponents(java.lang.Object componentKey) throws CyclicReferenceRuntimeException
S2Container
の記述: 検索の範囲は現在のS2コンテナのみです。 現在のS2コンテナから、キーに対応する全てのコンポーネントを配列で返します。
S2Container
内の findLocalComponents
componentKey
- コンポーネントを取得するためのキー
CyclicReferenceRuntimeException
- コンストラクタ・インジェクションでコンポーネントの参照が循環している場合S2Container.findLocalComponents(java.lang.Object)
protected java.lang.Object[] toComponentArray(java.lang.Object componentKey, ComponentDef[] componentDefs)
componentKey
- componentDefs
-
public void injectDependency(java.lang.Object outerComponent)
S2Container
の記述: outerComponent
のクラスをキーとして登録された
コンポーネント定義
に従って、必要なコンポーネントのインジェクションを実行します。
アスペクト、コンストラクタ・インジェクションは適用できません。
コンポーネント定義
のインスタンス定義
は
outer
でなくてはなりません。
S2Container
内の injectDependency
outerComponent
- 外部コンポーネントS2Container.injectDependency(java.lang.Object)
public void injectDependency(java.lang.Object outerComponent, java.lang.Class componentClass)
S2Container
の記述: componentClass
をキーとして登録された コンポーネント定義
に従って、必要なコンポーネントのインジェクションを実行します。
アスペクト、コンストラクタ・インジェクションは適用できません。
コンポーネント定義
のインスタンス定義
は
outer
でなくてはなりません。
S2Container
内の injectDependency
outerComponent
- 外部コンポーネントcomponentClass
- コンポーネント定義のキー (クラス)S2Container.injectDependency(java.lang.Object,
java.lang.Class)
public void injectDependency(java.lang.Object outerComponent, java.lang.String componentName)
S2Container
の記述: componentName
をキーとして登録された コンポーネント定義
に従って、インジェクションを実行します。
アスペクト、コンストラクタ・インジェクションは適用できません。
コンポーネント定義
のインスタンス定義
は
outer
でなくてはなりません。
S2Container
内の injectDependency
outerComponent
- 外部コンポーネントcomponentName
- コンポーネント定義のキー (名前)S2Container.injectDependency(java.lang.Object,
java.lang.String)
public void register(java.lang.Object component)
S2Container
の記述: S2コンテナに無名のコンポーネントとして登録します。 登録されたコンポーネントはインジェクションやアスペクトの適用などは出来ません。 他のコンポーネント構築時に依存オブジェクトとして利用することが可能です。
S2Container
内の register
component
- コンポーネントS2Container.register(java.lang.Object)
public void register(java.lang.Object component, java.lang.String componentName)
S2Container
の記述:
S2Container
内の register
component
- コンポーネントcomponentName
- コンポーネント名public void register(java.lang.Class componentClass)
S2Container
の記述: 登録するコンポーネントは以下のものになります。
インスタンス定義
singleton
自動バインディング定義
auto
S2Container
内の register
componentClass
- コンポーネントのクラスS2Container.register(java.lang.Class)
public void register(java.lang.Class componentClass, java.lang.String componentName)
S2Container
の記述: 登録するコンポーネントは以下のものになります。
インスタンス定義
singleton
自動バインディング定義
auto
S2Container
内の register
componentClass
- コンポーネントのクラスcomponentName
- コンポーネント名S2Container.register(java.lang.Class,
java.lang.String)
public void register(ComponentDef componentDef)
S2Container
の記述:
S2Container
内の register
componentDef
- コンポーネント定義S2Container.register(org.seasar.framework.container.ComponentDef)
public void register0(ComponentDef componentDef)
ComponentDef
を登録します。
componentDef
- protected void registerByClass(ComponentDef componentDef)
Class
をキーにして ComponentDef
を登録します。
componentDef
- protected void registerByName(ComponentDef componentDef)
ComponentDef
を登録します。
componentDef
- protected void registerMap(java.lang.Object key, ComponentDef componentDef)
ComponentDef
を登録します。
key
- componentDef
- public void registerMap(java.lang.Object key, ComponentDef componentDef, S2Container container)
S2Container
の記述: container
)に登録された コンポーネント定義(componentDef
)をこのコンテナから検索できるよう
コンポーネント定義を管理するマップに登録します。
S2Container
内の registerMap
key
- キーcomponentDef
- コンポーネント定義container
- S2コンテナprotected void registerParent(java.lang.Object key, ComponentDef componentDef)
S2Container
のネストが深くなってもパフォーマンスが落ちないように親に ComponentDef
を登録します。
key
- componentDef
- public int getComponentDefSize()
S2Container
の記述:
S2Container
内の getComponentDefSize
S2Container.getComponentDefSize()
public ComponentDef getComponentDef(int index)
S2Container
の記述:
S2Container
内の getComponentDef
index
- 番号
S2Container.getComponentDef(int)
public ComponentDef getComponentDef(java.lang.Object key) throws ComponentNotFoundRuntimeException
S2Container
の記述:
S2Container
内の getComponentDef
key
- キー
ComponentNotFoundRuntimeException
- コンポーネント定義が見つからない場合S2Container.getComponentDef(java.lang.Object)
public ComponentDef[] findComponentDefs(java.lang.Object key) throws ComponentNotFoundRuntimeException
S2Container
の記述: 検索の範囲は現在のS2コンテナおよび、インクルードしているS2コンテナの階層全体です。 キーに対応するコンポーネントが最初に見つかったS2コンテナを対象とします。 このS2コンテナから,キーに対応する全てのコンポーネント定義を配列で返します。 返される配列に含まれるコンポーネント定義は全て同一のS2コンテナに登録されたものです。
S2Container
内の findComponentDefs
key
- コンポーネント定義を取得するためのキー
ComponentNotFoundRuntimeException
S2Container.findComponentDefs(java.lang.Object)
public ComponentDef[] findAllComponentDefs(java.lang.Object componentKey)
S2Container
の記述: 検索の範囲は現在のS2コンテナおよび、インクルードしているS2コンテナの階層全体です。 キーに対応するコンポーネントが最初に見つかったS2コンテナとその子孫コンテナの全てを対象とします。 対象になるS2コンテナ全体から、キーに対応する全てのコンポーネント定義を配列で返します。
S2Container
内の findAllComponentDefs
componentKey
- コンポーネント定義を取得するためのキー
S2Container.findAllComponentDefs(java.lang.Object)
public ComponentDef[] findLocalComponentDefs(java.lang.Object componentKey)
S2Container
の記述: 検索の範囲は現在のS2コンテナのみです。 現在のS2コンテナから、キーに対応する全てのコンポーネント定義を配列で返します。
S2Container
内の findLocalComponentDefs
componentKey
- コンポーネント定義を取得するためのキー
S2Container.findLocalComponentDefs(java.lang.Object)
protected ComponentDef[] toComponentDefArray(ComponentDef cd)
ComponentDef
の配列に変換します。
cd
-
ComponentDef
の配列protected ComponentDef internalGetComponentDef(java.lang.Object key)
key
-
ComponentDef
public boolean hasComponentDef(java.lang.Object componentKey)
S2Container
の記述: true
を返します。
S2Container
内の hasComponentDef
componentKey
- キー
true
、そうでない場合はfalse
S2Container.hasComponentDef(java.lang.Object)
public boolean hasDescendant(java.lang.String path)
S2Container
の記述: path
を読み込んだS2コンテナが存在する場合true
を返します。
S2Container
内の hasDescendant
path
- パス
path
を読み込んだS2コンテナが存在する場合true
、そうでない場合はfalse
S2Container.hasDescendant(java.lang.String)
public S2Container getDescendant(java.lang.String path)
S2Container
の記述: path
を読み込んだS2コンテナを返します。
S2Container
内の getDescendant
path
- パス
public void registerDescendant(S2Container descendant)
S2Container
の記述: descendant
を子孫コンテナとして登録します。
子孫コンテナとは、このコンテナに属する子のコンテナや、その子であるコンテナです。
S2Container
内の registerDescendant
descendant
- 子孫コンテナpublic void include(S2Container child)
S2Container
の記述:
S2Container
内の include
child
- インクルードするS2コンテナS2Container.include(org.seasar.framework.container.S2Container)
protected int getContainerPosition(S2Container container)
container
-
protected boolean isNeedNS(java.lang.Object key, ComponentDef cd)
key
- cd
-
public int getChildSize()
S2Container
の記述:
S2Container
内の getChildSize
public S2Container getChild(int index)
S2Container
の記述:
S2Container
内の getChild
index
- 子コンテナの番号
public int getParentSize()
S2Container
の記述:
S2Container
内の getParentSize
public S2Container getParent(int index)
S2Container
の記述:
S2Container
内の getParent
index
- 親コンテナの番号
public void addParent(S2Container parent)
S2Container
の記述:
S2Container
内の addParent
parent
- 親として追加するS2コンテナpublic void init()
S2Container
の記述:
S2Container
内の init
public void destroy()
S2Container
の記述:
S2Container
内の destroy
public java.lang.String getNamespace()
S2Container
の記述:
S2Container
内の getNamespace
public void setNamespace(java.lang.String namespace)
S2Container
の記述:
S2Container
内の setNamespace
namespace
- 名前空間public boolean isInitializeOnCreate()
S2Container
の記述: true
を返します。
S2Container
内の isInitializeOnCreate
true
public void setInitializeOnCreate(boolean initializeOnCreate)
S2Container
の記述: true
を設定します。
S2Container
内の setInitializeOnCreate
initializeOnCreate
- コンテナ作成時に初期化する場合true
public java.lang.String getPath()
S2Container
の記述: path
を返します。
S2Container
内の getPath
path
public void setPath(java.lang.String path)
S2Container
の記述: path
を設定します。
S2Container
内の setPath
path
- 設定ファイルのpath
public ExternalContext getExternalContext()
S2Container
の記述:
S2Container
内の getExternalContext
public void setExternalContext(ExternalContext externalContext)
S2Container
の記述:
外部コンテキスト
は、
application
,
request
,
session
など 各インスタンス定義
を提供するものです。
これらのインスタンス定義を使用するには 外部コンテキスト
を設定する必要があります。
S2Container
内の setExternalContext
externalContext
- ExternalContext
public ExternalContextComponentDefRegister getExternalContextComponentDefRegister()
S2Container
の記述: 外部コンテキスト
が提供する コンポーネントを登録するオブジェクトを返します。
S2Container
内の getExternalContextComponentDefRegister
public void setExternalContextComponentDefRegister(ExternalContextComponentDefRegister register)
S2Container
の記述: 外部コンテキスト
が提供する コンポーネントを登録するオブジェクトを設定します。
S2Container
内の setExternalContextComponentDefRegister
register
- 外部コンテキストが提供するコンポーネントを登録するオブジェクトpublic void addMetaDef(MetaDef metaDef)
MetaDefAware
の記述:
MetaDefAware
内の addMetaDef
metaDef
- メタデータ定義public MetaDef getMetaDef(int index)
MetaDefAware
の記述: index
で指定されたメタデータ定義を返します。
インデックス番号は、追加した順に0, 1, 2…となります。
MetaDefAware
内の getMetaDef
index
- メタデータ定義を指定するインデックス番号
public MetaDef getMetaDef(java.lang.String name)
MetaDefAware
の記述: null
を返します。
MetaDefAware
内の getMetaDef
name
- メタデータ定義名
public MetaDef[] getMetaDefs(java.lang.String name)
MetaDefAware
の記述:
MetaDefAware
内の getMetaDefs
name
- メタデータ定義名
public int getMetaDefSize()
MetaDefAware
の記述: メタデータ定義
の数を返します。
MetaDefAware
内の getMetaDefSize
public java.lang.ClassLoader getClassLoader()
S2Container
の記述:
S2Container
内の getClassLoader
public void setClassLoader(java.lang.ClassLoader classLoader)
S2Container
の記述:
S2Container
内の setClassLoader
classLoader
- public static ComponentDef createTooManyRegistration(java.lang.Object key, ComponentDef currentComponentDef, ComponentDef newComponentDef)
TooManyRegistrationComponentDef
を作成します。
key
- currentComponentDef
- newComponentDef
-
TooManyRegistrationComponentDef
protected void assertParameterIsNotNull(java.lang.Object parameter, java.lang.String name)
null
でないことを表明します。
parameter
- name
- protected void assertParameterIsNotEmpty(java.lang.String parameter, java.lang.String name)
parameter
- name
-
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |