クラス AbstractRequestAttributesScope
- 実装されているすべてのインターフェース:
Scope
- 既知の直属サブクラス
RequestScope,SessionScope
RequestAttributes オブジェクトの特定のスコープから読み取る抽象 Scope 実装。 サブクラスは、属性を読み取る RequestAttributes スコープをこのクラスに指示するために、getScope() を実装する必要があるだけです。
サブクラスは、get(java.lang.String, org.springframework.beans.factory.ObjectFactory<?>) および remove(java.lang.String) メソッドをオーバーライドして、このスーパークラスへのコールバックに同期を追加することができます。
- 導入:
- 2.0
- 作成者:
- Rod Johnson, Juergen Hoeller, Rob Harrop
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明get(StringSE name, ObjectFactory<?> objectFactory) 基になるスコープから指定された名前のオブジェクトを返します。基になるストレージメカニズムで見つからない場合はcreating it。protected abstract intgetScope()実際のターゲットスコープを決定するテンプレートメソッド。voidregisterDestructionCallback(StringSE name, RunnableSE callback) スコープ内の指定されたオブジェクトの破棄(またはスコープが個々のオブジェクトを破棄せず、その全体で終了する場合はスコープ全体の破棄)で実行されるコールバックを登録します。指定されたnameを持つオブジェクトを基になるスコープから削除します。指定されたキーがある場合、そのコンテキストオブジェクトを解決します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.beans.factory.config.Scope から継承されたメソッド
getConversationId
コンストラクターの詳細
AbstractRequestAttributesScope
public AbstractRequestAttributesScope()
メソッドの詳細
get
インターフェースからコピーされた説明:Scope基になるスコープから指定された名前のオブジェクトを返します。基になるストレージメカニズムで見つからない場合はcreating it。これは、Scope の中心的な操作であり、絶対に必要な唯一の操作です。
- 次で指定:
- インターフェース
Scopeのget - パラメーター:
name- 取得するオブジェクトの名前objectFactory- 基になるストレージメカニズムに存在しない場合、スコープオブジェクトの作成に使用するObjectFactory- 戻り値:
- 目的のオブジェクト (非
null)
remove
インターフェースからコピーされた説明:Scope指定されたnameを持つオブジェクトを基になるスコープから削除します。オブジェクトが見つからなかった場合、
nullを返します。それ以外の場合は、削除されたObjectを返します。実装は、指定されたオブジェクトの登録された破棄コールバックも削除する必要があることに注意してください。ただし、この場合、登録された破棄コールバックを実行する必要はありません。オブジェクトは呼び出し元によって破棄されるためです(適切な場合)。
注: これはオプションの操作です。実装は、オブジェクトの明示的な削除をサポートしていない場合、
UnsupportedOperationExceptionSE をスローする場合があります。registerDestructionCallback
インターフェースからコピーされた説明:Scopeスコープ内の指定されたオブジェクトの破棄(またはスコープが個々のオブジェクトを破棄せず、その全体で終了する場合はスコープ全体の破棄)で実行されるコールバックを登録します。注: これはオプションの操作です。このメソッドは、実際の破棄構成(DisposableBean、destroy-method、DestructionAwareBeanPostProcessor)を持つスコープ付き Bean に対してのみ呼び出されます。実装は、適切なタイミングで特定のコールバックを実行するために最善を尽くす必要があります。そのようなコールバックが基礎となるランタイム環境によってまったくサポートされていない場合、コールバックは無視され、対応する警告がログに記録される必要があります。
「破棄」とは、アプリケーションによって明示的に削除された個々のスコープオブジェクトではなく、スコープ自体のライフサイクルの一部としてオブジェクトを自動的に破棄することです。スコープ付きオブジェクトがこのファサードの
Scope.remove(String)メソッドを介して削除された場合、削除されたオブジェクトが再利用されるか手動で破棄されると仮定して、登録されている破棄コールバックも削除する必要があります。- 次で指定:
- インターフェース
ScopeのregisterDestructionCallback - パラメーター:
name- 破棄コールバックを実行するオブジェクトの名前callback- 実行される破棄コールバック。渡された Runnable は例外をスローしないため、try-catch ブロックを囲むことなく安全に実行できることに注意してください。さらに、Runnable は通常、そのターゲットオブジェクトも直列化可能であれば、直列化可能です。- 関連事項:
resolveContextualObject
インターフェースからコピーされた説明:Scope指定されたキーがある場合、そのコンテキストオブジェクトを解決します。例: キー「リクエスト」の HttpServletRequest オブジェクト。- 次で指定:
- インターフェース
ScopeのresolveContextualObject - パラメーター:
key- コンテキストキー- 戻り値:
- 対応するオブジェクト。見つからない場合は
null
getScope
protected abstract int getScope()実際のターゲットスコープを決定するテンプレートメソッド。- 戻り値:
- ターゲットスコープ(適切な
RequestAttributes定数の形式) - 関連事項: