インターフェース Advised

すべてのスーパーインターフェース:
TargetClassAware
すべての既知の実装クラス:
AdvisedSupportAspectJProxyFactoryProxyCreatorSupportProxyFactoryProxyFactoryBean

public interface Advised extends TargetClassAware
AOP プロキシのファクトリの構成を保持するクラスによって実装されるインターフェース。この構成には、インターセプターおよびその他のアドバイス、アドバイザー、プロキシ化されたインターフェースが含まれます。

Spring から取得した AOP プロキシをこのインターフェースにキャストして、AOP アドバイスを操作できます。

導入:
13.03.2003
作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    addAdvice(int pos, Advice advice)
    指定された AOP アライアンスアドバイスをアドバイスチェーンの指定された位置に追加します。
    void
    与えられた AOP アライアンスアドバイスをアドバイス(インターセプター)チェーンの末尾に追加します。
    void
    addAdvisor(int pos, Advisor advisor)
    チェーンの指定された位置に Advisor を追加します。
    void
    アドバイザーチェーンの最後にアドバイザーを追加します。
    default int
    このプロキシに適用するアドバイザーの数を返します。
    このプロキシに適用するアドバイザを返します。
    ClassSE<?>[]
    AOP プロキシによってプロキシされたインターフェースを返します。
    この Advised オブジェクトによって使用される TargetSource を返します。
    int
    indexOf(Advice advice)
    指定された AOP アライアンスアドバイスの(0 からの)インデックスを返します。そのようなアドバイスがこのプロキシのアドバイスでない場合は -1 を返します。
    int
    indexOf(Advisor advisor)
    指定されたアドバイザの(0 からの)インデックスを返します。そのようなアドバイザがこのプロキシに適用されない場合は -1 を返します。
    boolean
    ファクトリがプロキシを ThreadLocalSE として公開する必要があるかどうかを返します。
    boolean
    推奨構成が凍結されているかどうかを返します。この場合、アドバイスの変更はできません。
    boolean
    指定されたインターフェースがプロキシされているかどうかを確認します。
    boolean
    このプロキシ構成が事前にフィルタリングされているため、適用可能なアドバイザのみが含まれるかどうかを返します(このプロキシのターゲットクラスに一致します)。
    boolean
    指定されたインターフェースではなく、完全なターゲットクラスをプロキシしていますか?
    boolean
    指定されたアドバイスを含むアドバイザを削除します。
    void
    removeAdvisor(int index)
    指定されたインデックスにあるアドバイザーを削除します。
    boolean
    指定されたアドバイザーを削除します。
    boolean
    指定されたアドバイザーを置き換えます。
    void
    setExposeProxy(boolean exposeProxy)
    AopContext クラスを介して取得するために、プロキシを AOP フレームワークによって ThreadLocalSE として公開するかどうかを設定します。
    void
    setPreFiltered(boolean preFiltered)
    このプロキシ構成が事前にフィルタリングされるかどうかを設定して、適用可能なアドバイザのみが含まれるようにします(このプロキシのターゲットクラスに一致します)。
    void
    この Advised オブジェクトで使用される TargetSource を変更します。
    toString() は通常ターゲットに委譲されるため、これは AOP プロキシと同等のものを返します。

    インターフェース org.springframework.aop.TargetClassAware から継承されたメソッド

    getTargetClass
  • メソッドの詳細

    • isFrozen

      boolean isFrozen()
      推奨構成が凍結されているかどうかを返します。この場合、アドバイスの変更はできません。
    • isProxyTargetClass

      boolean isProxyTargetClass()
      指定されたインターフェースではなく、完全なターゲットクラスをプロキシしていますか?
    • getProxiedInterfaces

      ClassSE<?>[] getProxiedInterfaces()
      AOP プロキシによってプロキシされたインターフェースを返します。

      プロキシされる可能性のあるターゲットクラスは含まれません。

    • isInterfaceProxied

      boolean isInterfaceProxied(ClassSE<?> intf)
      指定されたインターフェースがプロキシされているかどうかを確認します。
      パラメーター:
      intf - チェックするインターフェース
    • setTargetSource

      void setTargetSource(TargetSource targetSource)
      この Advised オブジェクトで使用される TargetSource を変更します。

      設定が凍結されていない場合にのみ機能します。

      パラメーター:
      targetSource - 使用する新しい TargetSource
    • getTargetSource

      TargetSource getTargetSource()
      この Advised オブジェクトによって使用される TargetSource を返します。
    • setExposeProxy

      void setExposeProxy(boolean exposeProxy)
      AopContext クラスを介して取得するために、プロキシを AOP フレームワークによって ThreadLocalSE として公開するかどうかを設定します。

      アドバイスされたオブジェクトがアドバイスを適用して自身でメソッドを呼び出す必要がある場合は、プロキシを公開する必要がある場合があります。それ以外の場合、アドバイスされたオブジェクトが this のメソッドを呼び出しても、アドバイスは適用されません。

      最適なパフォーマンスを得るには、デフォルトは false です。

    • isExposeProxy

      boolean isExposeProxy()
      ファクトリがプロキシを ThreadLocalSE として公開する必要があるかどうかを返します。

      アドバイスされたオブジェクトがアドバイスを適用して自身でメソッドを呼び出す必要がある場合は、プロキシを公開する必要がある場合があります。それ以外の場合、アドバイスされたオブジェクトが this のメソッドを呼び出しても、アドバイスは適用されません。

      プロキシの取得は、getEJBObject() を呼び出す EJB に似ています。

      関連事項:
    • setPreFiltered

      void setPreFiltered(boolean preFiltered)
      このプロキシ構成が事前にフィルタリングされるかどうかを設定して、適用可能なアドバイザのみが含まれるようにします(このプロキシのターゲットクラスに一致します)。

      デフォルトは "false" です。アドバイザがすでに事前にフィルターされている場合は、これを "true" に設定します。つまり、プロキシ呼び出し用の実際のアドバイザチェーンを構築するときに ClassFilter チェックをスキップできます。

      関連事項:
    • isPreFiltered

      boolean isPreFiltered()
      このプロキシ構成が事前にフィルタリングされているため、適用可能なアドバイザのみが含まれるかどうかを返します(このプロキシのターゲットクラスに一致します)。
    • getAdvisors

      Advisor[] getAdvisors()
      このプロキシに適用するアドバイザを返します。
      戻り値:
      このプロキシに適用されるアドバイザのリスト (非 null)
    • getAdvisorCount

      default int getAdvisorCount()
      このプロキシに適用するアドバイザーの数を返します。

      デフォルトの実装は getAdvisors().length に委譲します。

      導入:
      5.3.1
    • addAdvisor

      void addAdvisor(Advisor advisor) throws AopConfigException
      アドバイザーチェーンの最後にアドバイザーを追加します。

      Advisor は IntroductionAdvisor である場合があり、プロキシが次に関連するファクトリから取得されたときに新しいインターフェースが利用可能になります。

      パラメーター:
      advisor - チェーンの最後に追加するアドバイザー
      例外:
      AopConfigException - 無効なアドバイスの場合
    • addAdvisor

      void addAdvisor(int pos, Advisor advisor) throws AopConfigException
      チェーンの指定された位置に Advisor を追加します。
      パラメーター:
      advisor - チェーンの指定された位置に追加するアドバイザ
      pos - チェーン内の位置(0 は先頭)。有効でなければなりません。
      例外:
      AopConfigException - 無効なアドバイスの場合
    • removeAdvisor

      boolean removeAdvisor(Advisor advisor)
      指定されたアドバイザーを削除します。
      パラメーター:
      advisor - 削除するアドバイザー
      戻り値:
      true (アドバイザーが削除された場合)。false (アドバイザーが見つからなかったため削除できなかった場合)
    • removeAdvisor

      void removeAdvisor(int index) throws AopConfigException
      指定されたインデックスにあるアドバイザーを削除します。
      パラメーター:
      index - 削除するアドバイザーのインデックス
      例外:
      AopConfigException - インデックスが無効な場合
    • indexOf

      int indexOf(Advisor advisor)
      指定されたアドバイザの(0 からの)インデックスを返します。そのようなアドバイザがこのプロキシに適用されない場合は -1 を返します。

      このメソッドの戻り値を使用して、advisors 配列にインデックスを付けることができます。

      パラメーター:
      advisor - 検索するアドバイザー
      戻り値:
      このアドバイザの 0 からのインデックス、またはそのようなアドバイザがない場合は -1
    • replaceAdvisor

      boolean replaceAdvisor(Advisor a, Advisor b) throws AopConfigException
      指定されたアドバイザーを置き換えます。

      注意 : advisor が IntroductionAdvisor であり、代替が異なるインターフェースを実装しているか、実装している場合、プロキシを再取得する必要があります。そうしないと、古いインターフェースがサポートされず、新しいインターフェースは実装されません。

      パラメーター:
      a - 交換するアドバイザー
      b - それを置き換えるアドバイザー
      戻り値:
      交換されたかどうか。advisor のリストに advisor が見つからなかった場合、このメソッドは false を返し、何もしません。
      例外:
      AopConfigException - 無効なアドバイスの場合
    • addAdvice

      void addAdvice(Advice advice) throws AopConfigException
      与えられた AOP アライアンスアドバイスをアドバイス(インターセプター)チェーンの末尾に追加します。

      これは、常に適用されるポイントカットで DefaultPointcutAdvisor にラップされ、このラップされた形式で getAdvisors() メソッドから返されます。

      与えられたアドバイスは、toString() メソッドを含め、プロキシ上のすべての呼び出しに適用されることに注意してください! 適切なアドバイス実装を使用するか、適切なポイントカットを指定して、より狭いメソッドセットに適用します。

      パラメーター:
      advice - チェーンの末尾に追加するアドバイス
      例外:
      AopConfigException - 無効なアドバイスの場合
      関連事項:
    • addAdvice

      void addAdvice(int pos, Advice advice) throws AopConfigException
      指定された AOP アライアンスアドバイスをアドバイスチェーンの指定された位置に追加します。

      これは、常に適用されるポイントカットで DefaultPointcutAdvisor にラップされ、このラップされた形式で getAdvisors() メソッドから返されます。

      メモ: 与えられたアドバイスは、toString() メソッドであっても、プロキシでのすべての呼び出しに適用されます。適切なアドバイス実装を使用するか、適切なポイントカットを指定して、より狭いメソッドのセットに適用します。

      パラメーター:
      pos - 0 からのインデックス (頭)
      advice - アドバイスチェーンの指定された位置に追加するアドバイス
      例外:
      AopConfigException - 無効なアドバイスの場合
    • removeAdvice

      boolean removeAdvice(Advice advice)
      指定されたアドバイスを含むアドバイザを削除します。
      パラメーター:
      advice - 削除するアドバイス
      戻り値:
      アドバイスの true が見つかり、削除されました。false そのようなアドバイスがなかった場合
    • indexOf

      int indexOf(Advice advice)
      指定された AOP アライアンスアドバイスの(0 からの)インデックスを返します。そのようなアドバイスがこのプロキシのアドバイスでない場合は -1 を返します。

      このメソッドの戻り値を使用して、advisors 配列にインデックスを付けることができます。

      パラメーター:
      advice - 検索する AOP アライアンスのアドバイス
      戻り値:
      このアドバイスの 0 からのインデックス、またはそのようなアドバイスがない場合は -1
    • toProxyConfigString

      StringSE toProxyConfigString()
      toString() は通常ターゲットに委譲されるため、これは AOP プロキシと同等のものを返します。
      戻り値:
      プロキシ構成の文字列説明