org.springframework.aop.support
Class DefaultIntroductionAdvisor

java.lang.Object
  extended byorg.springframework.aop.support.DefaultIntroductionAdvisor
All Implemented Interfaces:
Advisor, ClassFilter, IntroductionAdvisor

public class DefaultIntroductionAdvisor
extends java.lang.Object
implements IntroductionAdvisor, ClassFilter

Simple IntroductionAdvisor implementation that by default applies to any class.

Since:
11-Nov-2003
Version:
$Id: DefaultIntroductionAdvisor.java,v 1.3 2004/03/19 16:54:39 johnsonr Exp $
Author:
Rod Johnson

Field Summary
 
Fields inherited from interface org.springframework.aop.ClassFilter
TRUE
 
Constructor Summary
DefaultIntroductionAdvisor(DelegatingIntroductionInterceptor dii)
          Wrap this interceptor and introduce all interfaces.
DefaultIntroductionAdvisor(IntroductionInterceptor interceptor)
           
DefaultIntroductionAdvisor(IntroductionInterceptor interceptor, java.lang.Class clazz)
           
 
Method Summary
 void addInterface(java.lang.Class intf)
           
 org.aopalliance.aop.Advice getAdvice()
          Return the advice part of this aspect.
 ClassFilter getClassFilter()
           
 java.lang.Class[] getInterfaces()
           
 boolean isPerInstance()
          Default for an introduction is per-instance interception.
 boolean matches(java.lang.Class clazz)
          Should the pointcut apply to the given interface or target class?
 void validateInterfaces()
          Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultIntroductionAdvisor

public DefaultIntroductionAdvisor(IntroductionInterceptor interceptor)

DefaultIntroductionAdvisor

public DefaultIntroductionAdvisor(IntroductionInterceptor interceptor,
                                  java.lang.Class clazz)
                           throws AopConfigException

DefaultIntroductionAdvisor

public DefaultIntroductionAdvisor(DelegatingIntroductionInterceptor dii)
Wrap this interceptor and introduce all interfaces.

Method Detail

addInterface

public void addInterface(java.lang.Class intf)
                  throws AopConfigException
Throws:
AopConfigException

getClassFilter

public ClassFilter getClassFilter()
Specified by:
getClassFilter in interface IntroductionAdvisor
Returns:
the filter determining which target classes this introduction should apply to. The class part of a pointcut. Note that method matching doesn't make sense to introductions.

getAdvice

public org.aopalliance.aop.Advice getAdvice()
Description copied from interface: Advisor
Return the advice part of this aspect. An advice may be an interceptor, a throws advice, before advice etc.
Spring supports user-defined advice, via the org.springframework.aop.adapter package.

Specified by:
getAdvice in interface Advisor
Returns:
the advice that should apply if the pointcut matches

getInterfaces

public java.lang.Class[] getInterfaces()
Specified by:
getInterfaces in interface IntroductionAdvisor
Returns:
the additional interfaces introduced by this Advisor

matches

public boolean matches(java.lang.Class clazz)
Description copied from interface: ClassFilter
Should the pointcut apply to the given interface or target class?

Specified by:
matches in interface ClassFilter
Parameters:
clazz - candidate target class
Returns:
whether the advice should apply to this candidate target class

isPerInstance

public boolean isPerInstance()
Default for an introduction is per-instance interception.

Specified by:
isPerInstance in interface Advisor

validateInterfaces

public void validateInterfaces()
                        throws AopConfigException
Description copied from interface: IntroductionAdvisor
Can the advised interfaces be implemented by the introduction advice? Invoked before adding an IntroductionAdvisor.

Specified by:
validateInterfaces in interface IntroductionAdvisor
Throws:
AopConfigException - if the advised interfaces can't be implemented by the introduction advice


Copyright (C) 2003-2004 The Spring Framework Project.