public class DefaultIntroductionAdvisor extends java.lang.Object implements IntroductionAdvisor, ClassFilter, Ordered, java.io.Serializable
IntroductionAdvisor 実装。EMPTY_ADVICETRUEHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
DefaultIntroductionAdvisor(Advice advice) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
DefaultIntroductionAdvisor(Advice advice, IntroductionInfo introductionInfo) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, java.lang.Class<?> intf) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addInterface(java.lang.Class<?> intf) 導入するインターフェースのリストに、指定したインターフェースを追加します。 |
boolean | equals(java.lang.Object other) |
Advice | getAdvice() このアスペクトのアドバイス部分を返します。 |
ClassFilter | getClassFilter() この導入を適用する必要があるターゲットクラスを決定するフィルターを返します。 |
java.lang.Class<?>[] | getInterfaces() このアドバイザまたはアドバイスによって導入された追加のインターフェースを返します。 |
int | getOrder() このオブジェクトの順序値を取得します。 |
int | hashCode() |
boolean | isPerInstance() このアドバイスが特定のインスタンスに関連付けられているか(たとえば、ミックスインの作成)、同じ Spring Bean ファクトリから取得したアドバイスクラスのすべてのインスタンスと共有されているかどうかを返します。 |
boolean | matches(java.lang.Class<?> clazz) ポイントカットは、特定のインターフェースまたはターゲットクラスに適用する必要がありますか? |
void | setOrder(int order) |
java.lang.String | toString() |
void | validateInterfaces() アドバイスされたインターフェースは、導入アドバイスによって実装できますか? IntroductionAdvisor を追加する前に呼び出されます。 |
public DefaultIntroductionAdvisor(Advice advice)
advice - 適用するアドバイス (IntroductionInfo インターフェースを実装する可能性があります)addInterface(java.lang.Class<?>)public DefaultIntroductionAdvisor(Advice advice, @Nullable IntroductionInfo introductionInfo)
advice - 適用するアドバイス introductionInfo - 導入するインターフェースを説明する IntroductionInfo (null の場合があります)public DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, java.lang.Class<?> intf)
advice - 適用するアドバイス intf - 導入するインターフェース public void addInterface(java.lang.Class<?> intf)
intf - 導入するインターフェース public java.lang.Class<?>[] getInterfaces()
IntroductionInfoIntroductionInfo 内の getInterfaces public void validateInterfaces()
throws java.lang.IllegalArgumentExceptionIntroductionAdvisorIntroductionAdvisor 内の validateInterfaces java.lang.IllegalArgumentException - アドバイスされたインターフェースを導入アドバイスで実装できない場合 public void setOrder(int order)
public int getOrder()
Ordered 値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered 内の getOrder Ordered.HIGHEST_PRECEDENCE, Ordered.LOWEST_PRECEDENCEpublic Advice getAdvice()
AdvisorAdvisor 内の getAdvice MethodInterceptor, BeforeAdvice, ThrowsAdvice, AfterReturningAdvicepublic boolean isPerInstance()
Advisor このメソッドは現在フレームワークでは使用されていないことに注意してください。典型的なアドバイザの実装は、常に true を返します。シングルトン / プロトタイプ Bean 定義または適切なプログラムによるプロキシ作成を使用して、アドバイザが正しいライフサイクルモデルを持つようにします。
Advisor 内の isPerInstance public ClassFilter getClassFilter()
IntroductionAdvisorこれは、ポイントカットのクラス部分を表します。メソッドマッチングは、イントロダクションには意味がないことに注意してください。
IntroductionAdvisor 内の getClassFilter public boolean matches(java.lang.Class<?> clazz)
ClassFilterClassFilter 内の matches clazz - 候補ターゲットクラス public boolean equals(java.lang.Object other)
java.lang.Object の equals public int hashCode()
java.lang.Object の hashCode public java.lang.String toString()
java.lang.Object の toString