Package org.springframework.aop.support
Class IntroductionInfoSupport
- java.lang.Object
- org.springframework.aop.support.IntroductionInfoSupport
- All Implemented Interfaces:
Serializable
,IntroductionInfo
- Direct Known Subclasses:
DelegatePerTargetObjectIntroductionInterceptor
,DelegatingIntroductionInterceptor
public class IntroductionInfoSupport extends Object implements IntroductionInfo, Serializable
Support for implementations ofIntroductionInfo
.Allows subclasses to conveniently add all interfaces from a given object, and to suppress interfaces that should not be added. Also allows for querying all introduced interfaces.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
- Serialized Form
Field Summary
Fields Modifier and Type Field Description protected Set<Class<?>>
publishedInterfaces
Constructor Summary
Constructors Constructor Description IntroductionInfoSupport()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<?>[]
getInterfaces()
Return the additional interfaces introduced by this Advisor or Advice.protected void
implementInterfacesOnObject(Object delegate)
Publish all interfaces that the given delegate implements at the proxy level.boolean
implementsInterface(Class<?> ifc)
Check whether the specified interfaces is a published introduction interface.protected boolean
isMethodOnIntroducedInterface(MethodInvocation mi)
Is this method on an introduced interface?void
suppressInterface(Class<?> ifc)
Suppress the specified interface, which may have been autodetected due to the delegate implementing it.
Field Detail
publishedInterfaces
protected final Set<Class<?>> publishedInterfaces
Constructor Detail
IntroductionInfoSupport
public IntroductionInfoSupport()
Method Detail
suppressInterface
public void suppressInterface(Class<?> ifc)
Suppress the specified interface, which may have been autodetected due to the delegate implementing it. Call this method to exclude internal interfaces from being visible at the proxy level.Does nothing if the interface is not implemented by the delegate.
- Parameters:
ifc
- the interface to suppress
getInterfaces
public Class<?>[] getInterfaces()
Description copied from interface:IntroductionInfo
Return the additional interfaces introduced by this Advisor or Advice.- Specified by:
getInterfaces
in interfaceIntroductionInfo
- Returns:
- the introduced interfaces
implementsInterface
public boolean implementsInterface(Class<?> ifc)
Check whether the specified interfaces is a published introduction interface.- Parameters:
ifc
- the interface to check- Returns:
- whether the interface is part of this introduction
implementInterfacesOnObject
protected void implementInterfacesOnObject(Object delegate)
Publish all interfaces that the given delegate implements at the proxy level.- Parameters:
delegate
- the delegate object
isMethodOnIntroducedInterface
protected final boolean isMethodOnIntroducedInterface(MethodInvocation mi)
Is this method on an introduced interface?- Parameters:
mi
- the method invocation- Returns:
- whether the invoked method is on an introduced interface