public final class SessionScope extends AbstractScope implements ComponentRemoveableScope
idToDefinition| Constructor and Description |
|---|
SessionScope(SessionContextSupplier supplier)
インスタンスを生成する。
|
| Modifier and Type | Method and Description |
|---|---|
int |
dimensions()
スコープの広さを表す値を返す。
|
<T> T |
getComponent(ComponentId id,
javax.inject.Provider<T> provider)
コンポーネントを取得する。
|
<T> T |
removeComponent(ComponentId id)
コンポーネントを削除する。
|
registerpublic SessionScope(SessionContextSupplier supplier)
supplier - セッションコンテキストを取得するクラスpublic <T> T getComponent(ComponentId id, javax.inject.Provider<T> provider)
ScopegetComponent in interface Scopeid - IDprovider - コンポーネントをインスタンス化するためのプロバイダpublic int dimensions()
Scopeこの値はDIコンテナ構築時のバリデーションで利用される。 コンポーネントは自分よりも広いスコープを持つコンポーネントに対してインジェクションできない。
例えばシングルトンはプロトタイプよりもスコープが広いので次のようなインジェクションは不正とみなされる。
@Prototype
class Foo {}
@Singleton
class Bar {
@Inject
Foo foo;
}
dimensions in interface Scopepublic <T> T removeComponent(ComponentId id)
removeComponent in interface ComponentRemoveableScopeT - コンポーネントid - ID