org.springframework.aop.framework.autoproxy
Class BeanNameAutoProxyCreator

java.lang.Object
  extended byorg.springframework.aop.framework.ProxyConfig
      extended byorg.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
          extended byorg.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator
All Implemented Interfaces:
BeanFactoryAware, BeanPostProcessor, Ordered, Serializable

public class BeanNameAutoProxyCreator
extends AbstractAutoProxyCreator

Auto proxy creator that identifies beans to proxy via a list of names. Checks for direct, "xxx*", and "*xxx" matches.

Since:
10.10.2003
Author:
Juergen Hoeller
See Also:
setBeanNames(java.lang.String[]), isMatch(java.lang.String, java.lang.String), Serialized Form

Field Summary
 
Fields inherited from class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS
 
Fields inherited from class org.springframework.aop.framework.ProxyConfig
exposeProxy
 
Constructor Summary
BeanNameAutoProxyCreator()
           
 
Method Summary
protected  Object[] getAdvicesAndAdvisorsForBean(Object bean, String beanName, TargetSource targetSource)
          Identify as bean to proxy if the bean name is in the configured list of names.
protected  boolean isMatch(String beanName, String mappedName)
          Return if the given bean name matches the mapped name.
 void setBeanNames(String[] beanNames)
          Set the names of the beans that should automatically get wrapped with proxies.
 
Methods inherited from class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
customizeProxyFactory, getBeanFactory, getCustomTargetSource, getOrder, isInfrastructureClass, postProcessAfterInitialization, postProcessBeforeInitialization, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setBeanFactory, setCustomTargetSourceCreators, setInterceptorNames, setOrder, shouldSkip
 
Methods inherited from class org.springframework.aop.framework.ProxyConfig
copyFrom, getAopProxyFactory, getExposeProxy, getOpaque, getOptimize, getProxyTargetClass, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setAopProxyFactory, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BeanNameAutoProxyCreator

public BeanNameAutoProxyCreator()
Method Detail

setBeanNames

public void setBeanNames(String[] beanNames)
Set the names of the beans that should automatically get wrapped with proxies. A name can specify a prefix to match by ending with "*", e.g. "myBean,tx*" will match the bean named "myBean" and all beans whose name start with "tx".


getAdvicesAndAdvisorsForBean

protected Object[] getAdvicesAndAdvisorsForBean(Object bean,
                                                String beanName,
                                                TargetSource targetSource)
Identify as bean to proxy if the bean name is in the configured list of names.

Specified by:
getAdvicesAndAdvisorsForBean in class AbstractAutoProxyCreator
Parameters:
bean - the new bean instance
beanName - the name of the bean
targetSource - targetSource returned by getTargetSource() method: may be ignored. Will be null unless a custom target source is in use.
Returns:
an array of additional interceptors for the particular bean; or an empty array if no additional interceptors but just the common ones; or null if no proxy at all, not even with the common interceptors. See constants DO_NOT_PROXY and PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS.
See Also:
AbstractAutoProxyCreator.postProcessAfterInitialization(java.lang.Object, java.lang.String), AbstractAutoProxyCreator.DO_NOT_PROXY, AbstractAutoProxyCreator.PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS

isMatch

protected boolean isMatch(String beanName,
                          String mappedName)
Return if the given bean name matches the mapped name. The default implementation checks for "xxx*" and "*xxx" matches. Can be overridden in subclasses.

Parameters:
beanName - the bean name to check
mappedName - the name in the configured list of names
Returns:
if the names match


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