Example usage for org.springframework.cglib.proxy Enhancer create

List of usage examples for org.springframework.cglib.proxy Enhancer create

Introduction

In this page you can find the example usage for org.springframework.cglib.proxy Enhancer create.

Prototype

public static Object create(Class superclass, Class interfaces[], Callback callback) 

Source Link

Document

Helper method to create an intercepted object.

Usage

From source file:com.mmnaseri.dragonfly.runtime.repo.impl.CrudRepositoryContext.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
    for (int i = 0; i < repositories.size(); i++) {
        Class repository = repositories.get(i);
        final Class[] typeArguments = ClassUtils.resolveTypeArguments(repository, EntityRepository.class);
        if (Object.class.equals(typeArguments[0])) {
            log.info("Discarding repository " + repository.getCanonicalName()
                    + " because it is not bound tightly enough");
            continue;
        }//from   w  ww. ja  v  a2 s. c om
        log.info("Registering repository " + repository.getSimpleName() + " for entities of type "
                + typeArguments[0].getCanonicalName());
        beanFactory.registerSingleton("_repo" + repository.getSimpleName() + i, Enhancer.create(Object.class,
                new Class[] { repository },
                new CrudRepositoryInterceptor(beanFactory, repository, typeArguments[0], typeArguments[1])));
    }
}