package jodd.proxetta.petite.fixtures; import jodd.petite.*; import jodd.petite.scope.Scope; import jodd.proxetta.impl.ProxyProxetta; import jodd.proxetta.impl.ProxyProxettaBuilder; public class PetiteProxettaContainer extends PetiteContainer { private final ProxyProxetta proxetta; public PetiteProxettaContainer(ProxyProxetta proxetta, PetiteConfig petiteConfig) { super(petiteConfig); this.proxetta = proxetta; } // @Override // public BeanDefinition registerPetiteBean( // Class type, // String name, // Class<? extends Scope> scopeType, // WiringMode wiringMode, // boolean define) { // // if (name == null) { // name = PetiteUtil.resolveBeanName(type, false); // } // // ProxyProxettaBuilder builder = proxetta.builder(); // builder.setTarget(type); // type = builder.define(); // // return super.registerPetiteBean(type, name, scopeType, wiringMode, false); // } /** * Applies proxetta on bean class before bean registration. */ @Override protected BeanDefinition createBeanDefinitionForRegistration(String name, Class type, Scope scope, WiringMode wiringMode) { if (proxetta != null) { ProxyProxettaBuilder builder = proxetta.builder(); builder.setTarget(type); type = builder.define(); } return super.createBeanDefinitionForRegistration(name, type, scope, wiringMode); } @Override public <T> T getBean(Class<T> type) { return super.getBean(type); } }