public class DefaultIntroductionAdvisor extends ObjectSE implements IntroductionAdvisor, ClassFilter, Ordered, SerializableSE
IntroductionAdvisor
実装。EMPTY_ADVICE
TRUE
HIGHEST_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, waitSE
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, ClassSE<?> ifc)
advice
- 適用するアドバイス ifc
- 導入するインターフェース public void addInterface(ClassSE<?> ifc)
ifc
- 導入するインターフェース public ClassSE<?>[] getInterfaces()
IntroductionInfo
IntroductionInfo
の getInterfaces
public void validateInterfaces() throws IllegalArgumentExceptionSE
IntroductionAdvisor
IntroductionAdvisor
の validateInterfaces
IllegalArgumentExceptionSE
- アドバイスされたインターフェースを導入アドバイスで実装できない場合 public void setOrder(int order)
public int getOrder()
Ordered
値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup
の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered
の getOrder
Ordered.HIGHEST_PRECEDENCE
, Ordered.LOWEST_PRECEDENCE
public Advice getAdvice()
Advisor
Advisor
の getAdvice
MethodInterceptor
, BeforeAdvice
, ThrowsAdvice
, AfterReturningAdvice
public boolean isPerInstance()
Advisor
このメソッドは現在フレームワークでは使用されていないことに注意してください。典型的なアドバイザの実装は、常に true
を返します。シングルトン / プロトタイプ Bean 定義または適切なプログラムによるプロキシ作成を使用して、アドバイザが正しいライフサイクルモデルを持つようにします。
Advisor
の isPerInstance
public ClassFilter getClassFilter()
IntroductionAdvisor
これは、ポイントカットのクラス部分を表します。メソッドマッチングは、イントロダクションには意味がないことに注意してください。
IntroductionAdvisor
の getClassFilter
public boolean matches(ClassSE<?> clazz)
ClassFilter
ClassFilter
の matches
clazz
- 候補ターゲットクラス public int hashCode()
ObjectSE
の hashCodeSE
public StringSE toString()
ObjectSE
の toStringSE