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