List of usage examples for org.springframework.cglib.proxy Enhancer create
public static Object create(Class superclass, Class interfaces[], Callback callback)
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]))); } }