/** * Defines class or interface to wrap. * For setting the interface of the resulting class, * use {@link #setTargetInterface(Class)}. */ @Override public WrapperProxettaFactory setTarget(final Class target) { super.setTarget(target); this.targetClassOrInterface = target; return this; }
@Override public ProxyProxettaFactory setTarget(final InputStream target) { return super.setTarget(target); }
@Override public ProxyProxettaFactory setTarget(final String targetName) { return super.setTarget(targetName); }
@Override public InvokeProxettaFactory setTarget(final InputStream target) { return super.setTarget(target); }
@Override public ProxyProxettaFactory setTarget(final Class target) { return super.setTarget(target); }
@Override public InvokeProxettaFactory setTarget(final Class target) { return super.setTarget(target); }
@Override public InvokeProxettaFactory setTarget(final String targetName) { return super.setTarget(targetName); }
/** * Applies proxetta on bean class before bean registration. */ @SuppressWarnings("unchecked") @Override protected <T> BeanDefinition<T> createBeanDefinitionForRegistration( final String name, Class<T> type, final Scope scope, final WiringMode wiringMode, final Consumer<T> consumer) { if (proxetta != null) { final Class originalType = type; final ProxettaFactory builder = proxetta.proxy(); builder.setTarget(type); type = builder.define(); return new ProxettaBeanDefinition( name, type, scope, wiringMode, originalType, proxetta.getAspects(new ProxyAspect[0]), consumer); } return super.createBeanDefinitionForRegistration(name, type, scope, wiringMode, consumer); }
final Proxetta proxetta = proxettaSupplier.get(); existing = proxetta.proxy().setTarget(actionClass).define();
@Test void testMethodAnnotationsProxy() { ProxyProxetta proxetta = Proxetta .proxyProxetta() .withAspect( ProxyAspect.of(HeroProxyAdvice.class, ((ProxyPointcut) MethodInfo::isTopLevelMethod).and(AllRealMethodsPointcut.get()) )) //.setDebugFolder(FileUtil.file("~")) ; ProxettaFactory proxettaFactory = proxetta.proxy(); proxettaFactory.setTarget(Hero.class); proxetta.setVariableClassName(true); Hero hero = (Hero) proxettaFactory.newInstance(); assertEquals("BatmanHero37W88.3CatWoman99speeeeedXRAYnull", hero.name()); }
@Test void testClassAnnotationsProxy() { ProxyProxetta proxetta = Proxetta .proxyProxetta() .withAspect( new ProxyAspect(HeroProxyAdvice2.class, ((ProxyPointcut) MethodInfo::isTopLevelMethod).and(AllRealMethodsPointcut.get()) )) //.setDebugFolder("/Users/igor/") ; ProxettaFactory proxettaFactory = proxetta.proxy(); proxettaFactory.setTarget(Hero.class); proxetta.setVariableClassName(true); Hero hero = (Hero) proxettaFactory.newInstance(); assertEquals("SilverHero89W99.222None1000speeeeedXRAYnull", hero.name()); }
@Override public InvokeProxettaFactory setTarget(final String targetName) { return super.setTarget(targetName); }
@Override public InvokeProxettaFactory setTarget(final InputStream target) { return super.setTarget(target); }
/** * Defines class or interface to wrap. * For setting the interface of the resulting class, * use {@link #setTargetInterface(Class)}. */ @Override public WrapperProxettaFactory setTarget(final Class target) { super.setTarget(target); this.targetClassOrInterface = target; return this; }
@Override public InvokeProxettaFactory setTarget(final Class target) { return super.setTarget(target); }
@Override public ProxyProxettaFactory setTarget(final InputStream target) { return super.setTarget(target); }
@Override public ProxyProxettaFactory setTarget(final String targetName) { return super.setTarget(targetName); }
@Override public ProxyProxettaFactory setTarget(final Class target) { return super.setTarget(target); }
/** * Applies proxetta on bean class before bean registration. */ @SuppressWarnings("unchecked") @Override protected <T> BeanDefinition<T> createBeanDefinitionForRegistration( final String name, Class<T> type, final Scope scope, final WiringMode wiringMode, final Consumer<T> consumer) { if (proxetta != null) { final Class originalType = type; final ProxettaFactory builder = proxetta.proxy(); builder.setTarget(type); type = builder.define(); return new ProxettaBeanDefinition( name, type, scope, wiringMode, originalType, proxetta.getAspects(new ProxyAspect[0]), consumer); } return super.createBeanDefinitionForRegistration(name, type, scope, wiringMode, consumer); }