public MethrefProxetta() { ProxyAspect aspects = new ProxyAspect(MethrefAdvice.class, new AllMethodsPointcut()); proxetta = Proxetta.proxyProxetta().withAspect(aspects); proxetta.setClassNameSuffix(METHREF_CLASSNAME_SUFFIX); }
ProxyProxetta proxetta = Proxetta.proxyProxetta().withAspect(aspect);
public PathrefProxetta() { ProxyAspect aspects = new ProxyAspect(PathrefAdvice.class, new AllMethodsPointcut()); proxetta = Proxetta.proxyProxetta().withAspect(aspects); proxetta.setClassNameSuffix(PATHREF_CLASSNAME_SUFFIX); }
public static ProxyProxetta createProxyProxetta() { ProxyPointcut pointcut_logged = new MethodWithAnnotationPointcut(Logged.class); ProxyAspect aspect_logged = new ProxyAspect(LogProxyAdvice.class, pointcut_logged); ProxyProxetta proxetta = Proxetta.proxyProxetta().withAspect(aspect_logged); //proxetta.setDebugFolder(SystemUtil.userHome() + "\\inka\\proxetta"); return proxetta; }
@Test void testAdviceWithInnerClass() { ProxyAspect proxyAspect = new ProxyAspect(InvalidAdvice.class, methodInfo -> true); try { Proxetta.proxyProxetta().withAspect(proxyAspect).proxy().setTarget(Foo.class).newInstance(); fail("error"); } catch (ProxettaException ignore) { System.out.println(ignore); } } }
@Test void testClassesWithGenericArraysAsReturnValueProxy() { try { ProxyAspect aspect = new ProxyAspect(DelegateAdvice.class, new AllMethodsPointcut()); ProxyProxetta proxetta = Proxetta.proxyProxetta().withAspect(aspect); ProxyProxettaFactory builder = proxetta.proxy().setTarget(Foo.class); builder.newInstance(); } catch (Exception e) { e.printStackTrace(); fail(e.toString()); } } }
@Test void testInnerOverride() { ProxyProxetta proxyProxetta = Proxetta.proxyProxetta().withAspect(new ProxyAspect(FooProxyAdvice.class, new AllMethodsPointcut())); ProxyProxettaFactory builder = proxyProxetta.proxy(); builder.setTarget(Two.class); builder.setTargetProxyClassName("foo."); Two two = (Two) builder.newInstance(); assertNotNull(two); assertEquals("foo.Two" + ProxettaNames.proxyClassNameSuffix, two.getClass().getName()); }
@Test void testAbstract2() { ProxyAspect proxyAspect = new ProxyAspect(FooProxyAdvice.class, methodInfo -> true); try { Proxetta.proxyProxetta().withAspect(proxyAspect).proxy().setTarget(Abstra2.class).newInstance(); fail("error"); } catch (ProxettaException ignore) { } }
ProxyProxetta proxyProxetta = Proxetta.proxyProxetta().withAspect(a1); proxyProxetta.setClassNameSuffix("$$$Proxetta"); ProxyProxettaFactory pb = proxyProxetta.proxy();
@Test void testAbstract1() { ProxyAspect proxyAspect = new ProxyAspect(FooProxyAdvice.class, methodInfo -> true); Abstra aaa = (Abstra) Proxetta.proxyProxetta().withAspect(proxyAspect).proxy().setTarget(Abstra.class).newInstance(); assertNotNull(aaa); aaa.foo(); }
@Test void testProxyProxetta_open() { ProxyAspect proxyAspect = ProxyAspect.of(LogProxyAdvice.class, MethodWithAnnotationPointcut.of(Transaction.class)); Test568OpenService service = (Test568OpenService) Proxetta.proxyProxetta() .withAspect(proxyAspect) .proxy() .setTarget(Test568OpenService.class) .newInstance(); String result = service.findMember(2L); assertEquals("2", result); } }
@Test void testMethRefOnProxifiedClass() { Methref<? extends Oink> m = Methref.on(Oink.class); m.to().woink(); assertEquals("woink", m.ref()); ProxyAspect a1 = new ProxyAspect(DummyAdvice.class, new AllTopMethodsPointcut()); ProxyProxetta pp = Proxetta.proxyProxetta().withAspect(a1); Oink oink = (Oink) pp.proxy().setTarget(Oink.class).newInstance(); assertFalse(oink.getClass().equals(Oink.class)); m = Methref.on(oink.getClass()); m.to().woink(); assertEquals("woink", m.ref()); }
@SuppressWarnings({"CachedNumberConstructorCall", "UnnecessaryBoxing"}) @Test void testJdk() { ProxyProxetta proxyProxetta = Proxetta.proxyProxetta().withAspect(new ProxyAspect(StatCounterAdvice.class, new AllMethodsPointcut())); proxyProxetta.setVariableClassName(false);
@Test void testProxyClassNames() { ProxyProxetta proxyProxetta = Proxetta.proxyProxetta().withAspect(ProxyAspect.of(FooProxyAdvice.class, new AllMethodsPointcut())); proxyProxetta.setVariableClassName(true);
@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()); }
@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()); }
}); byte[] classBytes = Proxetta.proxyProxetta().withAspect(aspect).proxy().setTarget(BigFatJoe.class).create();
ProxyProxetta proxyProxetta = Proxetta.proxyProxetta().withAspect(proxyAspect); proxyProxetta.setClassNameSuffix("$$$Proxetta888"); ProxyProxettaFactory pb = proxyProxetta.proxy();
@Test void testProxyProxetta() { ProxyProxetta proxetta = Proxetta.proxyProxetta().withAspect( new ProxyAspect(AddStringAdvice.class, new AllRealMethodsPointcut())); PetiteContainer papc = new ProxettaAwarePetiteContainer(proxetta); papc.registerPetiteBean(SecretService.class, null, null, null, false, null); BeanDefinition beanDefinition = papc.registerPetiteBean(PublicService.class, null, null, null, false, null); papc.registerPetiteBean(PublicService2.class, null, null, null, false, null); papc.registerPetiteBean(PublicService3.class, null, null, null, false, null); assertNotEquals(PublicService.class, beanDefinition.type()); PublicService publicService = papc.getBean(beanDefinition.name()); assertNotNull(publicService.secretService); assertEquals("Hello World! And Universe, too!", publicService.hello()); PublicService2 publicService2 = papc.getBean(PublicService2.class); assertNotNull(publicService2.secretService); assertEquals("Hello World! And Universe, too!", publicService2.hello()); PublicService3 publicService3 = papc.getBean(PublicService3.class); assertNotNull(publicService3.secretService); assertEquals("Hello World! And Universe, too!", publicService3.hello()); } }
public MethrefProxetta() { ProxyAspect aspects = new ProxyAspect(MethrefAdvice.class, new AllMethodsPointcut()); proxetta = Proxetta.proxyProxetta().withAspect(aspects); proxetta.setClassNameSuffix(METHREF_CLASSNAME_SUFFIX); }