public class DefaultIntroductionAdvisor extends ObjectSE implements IntroductionAdvisor, ClassFilter, Ordered, SerializableSE
IntroductionAdvisor 実装。EMPTY_ADVICETRUEHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| コンストラクターと説明 |
|---|
DefaultIntroductionAdvisor(Advice advice) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
DefaultIntroductionAdvisor(Advice advice, IntroductionInfo introductionInfo) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, ClassSE<?> ifc) 指定されたアドバイスの DefaultIntroductionAdvisor を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addInterface(ClassSE<?> ifc) 導入するインターフェースのリストに、指定したインターフェースを追加します。 |
boolean | equals(ObjectSE other) |
Advice | getAdvice() このアスペクトのアドバイス部分を返します。 |
ClassFilter | getClassFilter() この導入を適用する必要があるターゲットクラスを決定するフィルターを返します。 |
ClassSE<?>[] | getInterfaces() このアドバイザまたはアドバイスによって導入された追加のインターフェースを返します。 |
int | getOrder() このオブジェクトの順序値を取得します。 |
int | hashCode() |
boolean | isPerInstance() このアドバイスが特定のインスタンスに関連付けられているか(たとえば、ミックスインの作成)、同じ Spring Bean ファクトリから取得したアドバイスクラスのすべてのインスタンスと共有されているかどうかを返します。 |
boolean | matches(ClassSE<?> clazz) ポイントカットは、特定のインターフェースまたはターゲットクラスに適用する必要がありますか? |
void | setOrder(int order) |
StringSE | toString() |
void | validateInterfaces() アドバイスされたインターフェースは、導入アドバイスによって実装できますか? IntroductionAdvisor を追加する前に呼び出されます。 |
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEpublic DefaultIntroductionAdvisor(Advice advice)
advice - 適用するアドバイス (IntroductionInfo インターフェースを実装する可能性があります)addInterface(java.lang.Class<?>)public DefaultIntroductionAdvisor(Advice advice, @Nullable IntroductionInfo introductionInfo)
advice - 適用するアドバイス introductionInfo - 導入するインターフェースを説明する IntroductionInfo (null の場合があります)public DefaultIntroductionAdvisor(DynamicIntroductionAdvice advice, ClassSE<?> ifc)
advice - 適用するアドバイス ifc - 導入するインターフェース public void addInterface(ClassSE<?> ifc)
ifc - 導入するインターフェース public ClassSE<?>[] getInterfaces()
IntroductionInfoIntroductionInfo の getInterfaces public void validateInterfaces()
throws IllegalArgumentExceptionSEIntroductionAdvisorIntroductionAdvisor の validateInterfaces IllegalArgumentExceptionSE - アドバイスされたインターフェースを導入アドバイスで実装できない場合 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(ClassSE<?> clazz)
ClassFilterClassFilter の matches clazz - 候補ターゲットクラス public int hashCode()
ObjectSE の hashCodeSE public StringSE toString()
ObjectSE の toStringSE