Example usage for org.springframework.aop.framework ProxyFactory setInterfaces

List of usage examples for org.springframework.aop.framework ProxyFactory setInterfaces

Introduction

In this page you can find the example usage for org.springframework.aop.framework ProxyFactory setInterfaces.

Prototype

public void setInterfaces(Class<?>... interfaces) 

Source Link

Document

Set the interfaces to be proxied.

Usage

From source file:com.aop.ProxyFactoryTest.java

public static void main(String[] args) {
    UserService userService = new UserServiceImpl();

    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.setTarget(userService);
    proxyFactory.setInterfaces(new Class[] { UserService.class });
    NameMatchMethodPointcutAdvisor advisor = new NameMatchMethodPointcutAdvisor();
    advisor.setMappedName("addUser");
    advisor.setAdvice(new CheckInterceptor());

    proxyFactory.addAdvisor(advisor);//ww w .ja  va  2  s .  c  om

    UserService userServiceProxy = (UserService) proxyFactory.getProxy();
    userServiceProxy.addUser();

}

From source file:oz.hadoop.yarn.api.YarnAssembly.java

/**
 * //from   ww  w  .  ja  v a2 s. c om
 */
@SuppressWarnings("unchecked")
private static WithVcPrMemCount<Void> createV(String command,
        Class<? extends ApplicationContainerProcessor> applicationContainer, ByteBuffer arguments,
        String javaShellPath) {
    ProxyFactory pf = new ProxyFactory();
    pf.setInterfaces(WithVcPrMemCount.class);
    AssemblyAdvice assemblyAdvice = new AssemblyAdvice(command, applicationContainer, arguments, javaShellPath);
    pf.addAdvice(assemblyAdvice);
    WithVcPrMemCount<Void> builder = (WithVcPrMemCount<Void>) pf.getProxy();
    return builder;
}

From source file:oz.hadoop.yarn.api.YarnAssembly.java

/**
 * //from   w  ww  .j a  v a  2 s. c  om
 */
@SuppressWarnings("unchecked")
private static WithVcPrMemCount<DataProcessor> createC(String command,
        Class<? extends ApplicationContainerProcessor> applicationContainer, ByteBuffer arguments,
        String javaShellPath) {
    ProxyFactory pf = new ProxyFactory();
    pf.setInterfaces(WithVcPrMemCount.class);
    AssemblyAdvice assemblyAdvice = new AssemblyAdvice(command, applicationContainer, arguments, javaShellPath);
    pf.addAdvice(assemblyAdvice);
    WithVcPrMemCount<DataProcessor> builder = (WithVcPrMemCount<DataProcessor>) pf.getProxy();
    return builder;
}

From source file:me.yanaga.winter.data.jpa.spring.SimpleRepositoryFactoryBean.java

@Override
public Repository getObject() throws Exception {
    ProxyFactory proxyFactory = new ProxyFactory();
    proxyFactory.setInterfaces(new Class[] { repositoryInterface });
    RepositoryMetadata metadata = RepositoryMetadata.of(repositoryInterface);
    proxyFactory.setTarget(new SimpleRepository<>(metadata.getEntityClass(), entityManager));
    return (Repository) proxyFactory.getProxy();
}

From source file:org.jdal.service.PersistentServiceFactory.java

/**
 * Creates a default transactional proxy for service with default transacction attributes
 * @param <T>// www. j  av a  2s  . com
 * @param service
 * @return a Tx Proxy for service with default tx attributes
 */
@SuppressWarnings("unchecked")
public <T> PersistentManager<T, Serializable> makeTransactionalProxy(
        PersistentManager<T, Serializable> service) {
    ProxyFactory factory = new ProxyFactory(service);
    factory.setInterfaces(new Class[] { Dao.class });
    TransactionInterceptor interceptor = new TransactionInterceptor(transactionManager,
            new MatchAlwaysTransactionAttributeSource());
    factory.addAdvice(interceptor);
    factory.setTarget(service);
    return (PersistentManager<T, Serializable>) factory.getProxy();
}

From source file:aop.DeclareMixinAspectJAdvisorFactoryTest.java

protected Object createProxy(Object target, List<Advisor> advisors, Class<?>... interfaces) {
    ProxyFactory pf = new ProxyFactory(target);
    if (interfaces.length > 1 || interfaces[0].isInterface()) {
        pf.setInterfaces(interfaces);
    } else {//from w ww. j  a va2s. c  om
        pf.setProxyTargetClass(true);
    }

    // Required everywhere we use AspectJ proxies
    pf.addAdvice(ExposeInvocationInterceptor.INSTANCE);

    for (Object a : advisors) {
        pf.addAdvisor((Advisor) a);
    }

    pf.setExposeProxy(true);
    return pf.getProxy();
}

From source file:com.alibaba.cobar.client.router.config.AbstractCobarClientInternalRouterFactoryBean.java

@SuppressWarnings("unchecked")
public void afterPropertiesSet() throws Exception {

    DefaultCobarClientInternalRouter routerToUse = new DefaultCobarClientInternalRouter();

    List<InternalRule> rules = loadRulesFromExternal();

    getRuleLoader().loadRulesAndEquipRouter(rules, routerToUse, getFunctionsMap());

    if (isEnableCache()) {
        ProxyFactory proxyFactory = new ProxyFactory(routerToUse);
        proxyFactory.setInterfaces(new Class[] { ICobarRouter.class });
        RoutingResultCacheAspect advice = new RoutingResultCacheAspect();
        if (cacheSize > 0) {
            advice.setInternalCache(new LRUMap(cacheSize));
        }/*from  w  ww.j a  v  a  2s  . com*/
        proxyFactory.addAdvice(advice);
        this.router = (ICobarRouter<IBatisRoutingFact>) proxyFactory.getProxy();
    } else {
        this.router = routerToUse;
    }
}

From source file:net.paslavsky.springrest.SpringRestClientFactoryBean.java

@Override
@SuppressWarnings("unchecked")
protected T createInstance() throws Exception {
    ProxyFactory factory = new ProxyFactory();
    if (getObjectType().isInterface()) {
        factory.setInterfaces(getObjectType());
    } else {// w  w w . ja  v  a2s  .  c o  m
        factory.setTargetClass(getObjectType());
    }
    factory.addAdvisor(createRestMethodAdvisor());
    factory.addAdvisor(createToStringPointcutAdvisor());
    return (T) factory.getProxy();
}

From source file:ome.testing.InterceptingServiceFactory.java

@SuppressWarnings("unchecked")
<T extends ServiceInterface> T wrap(T service) {
    ProxyFactory factory = new ProxyFactory();
    factory.setInterfaces(service.getClass().getInterfaces());
    for (MethodInterceptor i : interceptors) {
        factory.addAdvice(i);/*from   w  w  w .  ja  v  a  2 s .c o  m*/
    }
    factory.setTarget(service);
    return (T) factory.getProxy();
}

From source file:org.joyrest.oauth2.initializer.OAuth2Initializer.java

private DefaultTokenServices txProxiedTokenServices(DefaultTokenServices tokenServices, DataSource dataSource) {
    AnnotationTransactionAttributeSource attrSource = new AnnotationTransactionAttributeSource();
    DataSourceTransactionManager txManager = new DataSourceTransactionManager(dataSource);
    TransactionInterceptor txInterceptor = transactionInterceptor(attrSource, txManager);
    BeanFactoryTransactionAttributeSourceAdvisor txAdvisor = transactionAdvisor(attrSource, txInterceptor);
    ClassLoader classLoader = ClassUtils.getDefaultClassLoader();

    ProxyFactory proxyFactory = new ProxyFactory(tokenServices);
    proxyFactory.addAdvice(txInterceptor);
    proxyFactory.addAdvisor(txAdvisor);/*w  w w  . j  av  a 2 s .  com*/
    proxyFactory.setInterfaces(ClassUtils
            .getAllInterfacesForClass(new SingletonTargetSource(tokenServices).getTargetClass(), classLoader));

    return (DefaultTokenServices) proxyFactory.getProxy(classLoader);
}