クラス AdvisedSupport
- 実装されたすべてのインターフェース:
SerializableSE
、Advised
、TargetClassAware
- 既知の直属サブクラス
ProxyCreatorSupport
これら自体は AOP プロキシではありませんが、このクラスのサブクラスは通常、AOP プロキシインスタンスが直接取得されるファクトリです。
このクラスは、アドバイスとアドバイザのハウスキーピングのサブクラスを解放しますが、実際には、サブクラスによって提供されるプロキシ作成メソッドを実装していません。
このクラスは直列化可能です。サブクラスである必要はありません。
このクラスは、プロキシのスナップショットを保持するために使用されます。
フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクターコンストラクター説明JavaBean として使用するための引数なしのコンストラクター。AdvisedSupport
(ClassSE<?>... interfaces) 指定されたパラメーターを使用してAdvisedSupport
インスタンスを作成します。方法の概要
修飾子と型メソッド説明void
アドバイスが IntroductionInfo を実装しない限り、この方法で導入を追加することはできません。void
与えられた AOP アライアンスアドバイスをアドバイス(インターセプター)チェーンの末尾に追加します。void
addAdvisor
(int pos, Advisor advisor) チェーンの指定された位置に Advisor を追加します。void
addAdvisor
(Advisor advisor) アドバイザーチェーンの最後にアドバイザーを追加します。void
addAdvisors
(CollectionSE<Advisor> advisors) 指定されたすべてのアドバイザをこのプロキシ構成に追加します。void
addAdvisors
(Advisor... advisors) 指定されたすべてのアドバイザをこのプロキシ構成に追加します。void
addInterface
(ClassSE<?> ifc) 新しいプロキシインターフェースを追加します。protected void
アドバイスが変更されたときに呼び出されます。boolean
adviceIncluded
(Advice advice) 与えられたアドバイスは、このプロキシ構成内のアドバイザーに含まれていますか?protected void
no-arg コンストラクターによって作成された新しいインスタンスでこのメソッドを呼び出して、指定されたオブジェクトから構成の独立したコピーを作成します。protected void
copyConfigurationFrom
(AdvisedSupport other, TargetSource targetSource, ListSE<Advisor> advisors) 指定されたAdvisedSupport
オブジェクトから AOP 構成をコピーしますが、新しいTargetSource
と指定されたインターセプターチェーンの置換を許可します。int
countAdvicesOfType
(ClassSE<?> adviceClass) 指定されたクラスのアドバイスを数えます。使用するアドバイザチェーンファクトリを返します(決してnull
ではありません)。int
このプロキシに適用するアドバイザーの数を返します。final Advisor[]
このプロキシに適用するアドバイザを返します。getInterceptorsAndDynamicInterceptionAdvice
(MethodSE method, ClassSE<?> targetClass) この構成に基づいて、指定されたメソッドのMethodInterceptor
オブジェクトのリストを決定します。ClassSE<?>[]
AOP プロキシによってプロキシされたインターフェースを返します。ClassSE<?>
実装オブジェクト(通常、プロキシ構成または実際のプロキシ)の背後にあるターゲットクラスを返します。このAdvised
オブジェクトによって使用されるTargetSource
を返します。int
指定された AOP アライアンスアドバイスの(0 からの)インデックスを返します。そのようなアドバイスがこのプロキシのアドバイスでない場合は -1 を返します。int
指定されたアドバイザの(0 からの)インデックスを返します。そのようなアドバイザがこのプロキシに適用されない場合は -1 を返します。boolean
isInterfaceProxied
(ClassSE<?> ifc) 指定されたインターフェースがプロキシされているかどうかを確認します。boolean
このプロキシ構成が事前にフィルタリングされているため、適用可能なアドバイザのみが含まれるかどうかを返します(このプロキシのターゲットクラスに一致します)。boolean
removeAdvice
(Advice advice) 指定されたアドバイスを含むアドバイザを削除します。void
removeAdvisor
(int index) 指定されたインデックスにあるアドバイザーを削除します。boolean
removeAdvisor
(Advisor advisor) 指定されたアドバイザーを削除します。boolean
removeInterface
(ClassSE<?> ifc) プロキシされたインターフェースを削除します。boolean
replaceAdvisor
(Advisor a, Advisor b) 指定されたアドバイザーを置き換えます。void
setAdvisorChainFactory
(AdvisorChainFactory advisorChainFactory) 使用する advisor チェーンファクトリを設定します。void
setInterfaces
(ClassSE<?>... interfaces) プロキシするインターフェースを設定します。void
setPreFiltered
(boolean preFiltered) このプロキシ構成が事前にフィルタリングされるかどうかを設定して、適用可能なアドバイザのみが含まれるようにします(このプロキシのターゲットクラスに一致します)。void
指定されたオブジェクトをターゲットとして設定します。void
setTargetClass
(ClassSE<?> targetClass) ターゲットクラスをプロキシに設定し、プロキシを特定のクラスにキャストできることを示します。void
setTargetSource
(TargetSource targetSource) このAdvised
オブジェクトで使用されるTargetSource
を変更します。toString()
は通常ターゲットに委譲されるため、これは AOP プロキシと同等のものを返します。toString()
デバッグ / 診断用。クラス org.springframework.aop.framework.ProxyConfig から継承されたメソッド
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.aop.framework.Advised から継承されたメソッド
isExposeProxy, isFrozen, isProxyTargetClass, setExposeProxy
フィールドの詳細
EMPTY_TARGET_SOURCE
ターゲットが存在せず、動作がアドバイザによって提供される場合の正規の TargetSource。
コンストラクターの詳細
AdvisedSupport
public AdvisedSupport()JavaBean として使用するための引数なしのコンストラクター。AdvisedSupport
指定されたパラメーターを使用してAdvisedSupport
インスタンスを作成します。- パラメーター:
interfaces
- プロキシされたインターフェース
メソッドの詳細
setTarget
指定されたオブジェクトをターゲットとして設定します。オブジェクトの SingletonTargetSource を作成します。
setTargetSource
インターフェースからコピーされた説明:Advised
- 次で指定:
- インターフェース
Advised
のsetTargetSource
- パラメーター:
targetSource
- 使用する新しい TargetSource
getTargetSource
インターフェースからコピーされた説明:Advised
このAdvised
オブジェクトによって使用されるTargetSource
を返します。- 次で指定:
- インターフェース
Advised
のgetTargetSource
setTargetClass
ターゲットクラスをプロキシに設定し、プロキシを特定のクラスにキャストできることを示します。内部的には、指定されたターゲットクラスの
EmptyTargetSource
が使用されます。必要なプロキシの種類は、実際のプロキシの作成時に決定されます。これは、完全な機能を備えた TargetSource を使用せずに、ターゲットクラス (インターフェースまたは具象クラス) に基づくプロキシが必要な場合に、"targetSource" または「ターゲット」を設定する代わりに使用します。
getTargetClass
インターフェースからコピーされた説明:TargetClassAware
実装オブジェクト(通常、プロキシ構成または実際のプロキシ)の背後にあるターゲットクラスを返します。- 次で指定:
- インターフェース
TargetClassAware
のgetTargetClass
- 戻り値:
- ターゲットクラス、または不明の場合は
null
setPreFiltered
public void setPreFiltered(boolean preFiltered) インターフェースからコピーされた説明:Advised
このプロキシ構成が事前にフィルタリングされるかどうかを設定して、適用可能なアドバイザのみが含まれるようにします(このプロキシのターゲットクラスに一致します)。デフォルトは "false" です。アドバイザがすでに事前にフィルターされている場合は、これを "true" に設定します。つまり、プロキシ呼び出し用の実際のアドバイザチェーンを構築するときに ClassFilter チェックをスキップできます。
- 次で指定:
- インターフェース
Advised
のsetPreFiltered
- 関連事項:
isPreFiltered
public boolean isPreFiltered()インターフェースからコピーされた説明:Advised
このプロキシ構成が事前にフィルタリングされているため、適用可能なアドバイザのみが含まれるかどうかを返します(このプロキシのターゲットクラスに一致します)。- 次で指定:
- インターフェース
Advised
のisPreFiltered
setAdvisorChainFactory
使用する advisor チェーンファクトリを設定します。デフォルトは
DefaultAdvisorChainFactory
です。getAdvisorChainFactory
使用するアドバイザチェーンファクトリを返します(決してnull
ではありません)。setInterfaces
プロキシするインターフェースを設定します。addInterface
新しいプロキシインターフェースを追加します。- パラメーター:
ifc
- プロキシへの追加インターフェース
removeInterface
プロキシされたインターフェースを削除します。指定されたインターフェースがプロキシされていない場合は何もしません。
- パラメーター:
ifc
- プロキシから削除するインターフェース- 戻り値:
true
(インターフェースが削除された場合)。false
(インターフェースが見つからなかったため削除できなかった場合)
getProxiedInterfaces
インターフェースからコピーされた説明:Advised
AOP プロキシによってプロキシされたインターフェースを返します。プロキシされる可能性のあるターゲットクラスは含まれません。
- 次で指定:
- インターフェース
Advised
のgetProxiedInterfaces
isInterfaceProxied
インターフェースからコピーされた説明:Advised
指定されたインターフェースがプロキシされているかどうかを確認します。- 次で指定:
- インターフェース
Advised
のisInterfaceProxied
- パラメーター:
ifc
- チェックするインターフェース
getAdvisors
インターフェースからコピーされた説明:Advised
このプロキシに適用するアドバイザを返します。- 次で指定:
- インターフェース
Advised
のgetAdvisors
- 戻り値:
- このプロキシに適用されるアドバイザのリスト (非
null
)
getAdvisorCount
public int getAdvisorCount()インターフェースからコピーされた説明:Advised
このプロキシに適用するアドバイザーの数を返します。デフォルトの実装は
getAdvisors().length
に委譲します。- 次で指定:
- インターフェース
Advised
のgetAdvisorCount
addAdvisor
インターフェースからコピーされた説明:Advised
アドバイザーチェーンの最後にアドバイザーを追加します。Advisor は
IntroductionAdvisor
である場合があり、プロキシが次に関連するファクトリから取得されたときに新しいインターフェースが利用可能になります。- 次で指定:
- インターフェース
Advised
のaddAdvisor
- パラメーター:
advisor
- チェーンの最後に追加するアドバイザー
addAdvisor
インターフェースからコピーされた説明:Advised
チェーンの指定された位置に Advisor を追加します。- 次で指定:
- インターフェース
Advised
のaddAdvisor
- パラメーター:
pos
- チェーン内の位置(0 は先頭)。有効でなければなりません。advisor
- チェーンの指定された位置に追加するアドバイザ- 例外:
AopConfigException
- 無効なアドバイスの場合
removeAdvisor
インターフェースからコピーされた説明:Advised
指定されたアドバイザーを削除します。- 次で指定:
- インターフェース
Advised
のremoveAdvisor
- パラメーター:
advisor
- 削除するアドバイザー- 戻り値:
true
(アドバイザーが削除された場合)。false
(アドバイザーが見つからなかったため削除できなかった場合)
removeAdvisor
インターフェースからコピーされた説明:Advised
指定されたインデックスにあるアドバイザーを削除します。- 次で指定:
- インターフェース
Advised
のremoveAdvisor
- パラメーター:
index
- 削除するアドバイザーのインデックス- 例外:
AopConfigException
- インデックスが無効な場合
indexOf
インターフェースからコピーされた説明:Advised
指定されたアドバイザの(0 からの)インデックスを返します。そのようなアドバイザがこのプロキシに適用されない場合は -1 を返します。このメソッドの戻り値を使用して、advisors 配列にインデックスを付けることができます。
replaceAdvisor
インターフェースからコピーされた説明:Advised
指定されたアドバイザーを置き換えます。注意 : advisor が
IntroductionAdvisor
であり、代替が異なるインターフェースを実装しているか、実装している場合、プロキシを再取得する必要があります。そうしないと、古いインターフェースがサポートされず、新しいインターフェースは実装されません。- 次で指定:
- インターフェース
Advised
のreplaceAdvisor
- パラメーター:
a
- 交換するアドバイザーb
- それを置き換えるアドバイザー- 戻り値:
- 交換されたかどうか。advisor のリストに advisor が見つからなかった場合、このメソッドは
false
を返し、何もしません。 - 例外:
AopConfigException
- 無効なアドバイスの場合
addAdvisors
指定されたすべてのアドバイザをこのプロキシ構成に追加します。- パラメーター:
advisors
- 登録するアドバイザー
addAdvisors
指定されたすべてのアドバイザをこのプロキシ構成に追加します。- パラメーター:
advisors
- 登録するアドバイザー
getAdvisorsInternal
addAdvice
インターフェースからコピーされた説明:Advised
与えられた AOP アライアンスアドバイスをアドバイス(インターセプター)チェーンの末尾に追加します。これは、常に適用されるポイントカットで DefaultPointcutAdvisor にラップされ、このラップされた形式で
getAdvisors()
メソッドから返されます。与えられたアドバイスは、
toString()
メソッドを含め、プロキシ上のすべての呼び出しに適用されることに注意してください! 適切なアドバイス実装を使用するか、適切なポイントカットを指定して、より狭いメソッドセットに適用します。- 次で指定:
- インターフェース
Advised
のaddAdvice
- パラメーター:
advice
- チェーンの末尾に追加するアドバイス- 例外:
AopConfigException
- 無効なアドバイスの場合- 関連事項:
addAdvice
アドバイスが IntroductionInfo を実装しない限り、この方法で導入を追加することはできません。- 次で指定:
- インターフェース
Advised
のaddAdvice
- パラメーター:
pos
- 0 からのインデックス (頭)advice
- アドバイスチェーンの指定された位置に追加するアドバイス- 例外:
AopConfigException
- 無効なアドバイスの場合
removeAdvice
インターフェースからコピーされた説明:Advised
指定されたアドバイスを含むアドバイザを削除します。- 次で指定:
- インターフェース
Advised
のremoveAdvice
- パラメーター:
advice
- 削除するアドバイス- 戻り値:
- アドバイスの
true
が見つかり、削除されました。false
そのようなアドバイスがなかった場合 - 例外:
AopConfigException
indexOf
インターフェースからコピーされた説明:Advised
指定された AOP アライアンスアドバイスの(0 からの)インデックスを返します。そのようなアドバイスがこのプロキシのアドバイスでない場合は -1 を返します。このメソッドの戻り値を使用して、advisors 配列にインデックスを付けることができます。
adviceIncluded
与えられたアドバイスは、このプロキシ構成内のアドバイザーに含まれていますか?- パラメーター:
advice
- 含まれていることを確認するためのアドバイス- 戻り値:
- このアドバイスインスタンスが含まれているかどうか
countAdvicesOfType
指定されたクラスのアドバイスを数えます。- パラメーター:
adviceClass
- チェックするアドバイスクラス- 戻り値:
- このクラスまたはサブクラスのインターセプターの数
getInterceptorsAndDynamicInterceptionAdvice
public ListSE<ObjectSE> getInterceptorsAndDynamicInterceptionAdvice(MethodSE method, @Nullable ClassSE<?> targetClass) この構成に基づいて、指定されたメソッドのMethodInterceptor
オブジェクトのリストを決定します。- パラメーター:
method
- プロキシ方式targetClass
- ターゲットクラス- 戻り値:
- MethodInterceptors のリスト (InterceptorAndDynamicMethodMatchers を含むこともあります)
adviceChanged
protected void adviceChanged()アドバイスが変更されたときに呼び出されます。copyConfigurationFrom
no-arg コンストラクターによって作成された新しいインスタンスでこのメソッドを呼び出して、指定されたオブジェクトから構成の独立したコピーを作成します。- パラメーター:
other
- 構成をコピーする AdvisedSupport オブジェクト
copyConfigurationFrom
protected void copyConfigurationFrom(AdvisedSupport other, TargetSource targetSource, ListSE<Advisor> advisors) 指定されたAdvisedSupport
オブジェクトから AOP 構成をコピーしますが、新しいTargetSource
と指定されたインターセプターチェーンの置換を許可します。- パラメーター:
other
- プロキシ設定を取得するAdvisedSupport
オブジェクトtargetSource
- 新しい TargetSourceadvisors
- チェーンのアドバイザー
toProxyConfigString
インターフェースからコピーされた説明:Advised
toString()
は通常ターゲットに委譲されるため、これは AOP プロキシと同等のものを返します。- 次で指定:
- インターフェース
Advised
のtoProxyConfigString
- 戻り値:
- プロキシ構成の文字列説明
toString
デバッグ / 診断用。- オーバーライド:
- クラス
ProxyConfig
のtoString