protected ProxyAspect createTxProxyAspects(final Class<? extends Annotation>[] annotations) { return new ProxyAspect( AnnotationTxAdvice.class, ((ProxyPointcut) MethodInfo::isPublicMethod) .and(MethodWithAnnotationPointcut.of(annotations)) ); }
/** * Delegates to aspects pointcut. */ boolean apply(final MethodInfo msign) { return pointcut.apply(msign); }
@Test void testMethodAnnotationsWrapper() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { WrapperProxetta proxetta = Proxetta .wrapperProxetta() .withAspect( new ProxyAspect(HeroProxyAdvice.class, ((ProxyPointcut) MethodInfo::isTopLevelMethod).and(AllRealMethodsPointcut.get()) )) //.setDebugFolder("/Users/igor/") ; WrapperProxettaFactory proxettaBuilder = proxetta.proxy(); proxettaBuilder.setTarget(Hero.class); proxetta.setVariableClassName(true); Object hero = proxettaBuilder.newInstance(); Method nameMethod = hero.getClass().getMethod("name"); assertEquals("BatmanHero37W88.3CatWoman99speeeeedXRAYnull", nameMethod.invoke(hero)); }
@Test void testClassAnnotationsWrapper() throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { WrapperProxetta proxetta = Proxetta .wrapperProxetta() .withAspects( new ProxyAspect(HeroProxyAdvice2.class, ((ProxyPointcut) MethodInfo::isTopLevelMethod).and(AllRealMethodsPointcut.get()) )) //.setDebugFolder("/Users/igor/") ; WrapperProxettaFactory proxettaBuilder = proxetta.proxy(); proxettaBuilder.setTarget(Hero.class); proxetta.setVariableClassName(true); Object hero = proxettaBuilder.newInstance(); Method nameMethod = hero.getClass().getMethod("name"); assertEquals("SilverHero89W99.222None1000speeeeedXRAYnull", nameMethod.invoke(hero)); }
@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()); }
/** * Delegates to aspects pointcut. */ boolean apply(final MethodInfo msign) { return pointcut.apply(msign); }
@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()); }
protected ProxyAspect createTxProxyAspects(final Class<? extends Annotation>[] annotations) { return new ProxyAspect( AnnotationTxAdvice.class, ((ProxyPointcut) MethodInfo::isPublicMethod) .and(MethodWithAnnotationPointcut.of(annotations)) ); }
/** * Delegates to aspects pointcut. */ boolean apply(MethodInfo msign) { return pointcut.apply(msign); }