@Override public void adviseAllMethods(org.apache.tapestry5.plastic.MethodAdvice advice) { getBuilder().adviseAllMethods(advice); }
@Override public void adviseAllMethods(org.apache.tapestry5.plastic.MethodAdvice advice) { getBuilder().adviseAllMethods(advice); }
private static <T> T doDecorate(final String decoratorId, ServiceResources resources, T delegate, AspectDecorator aspectDecorator) { Class<T> serviceInterface = resources.getServiceInterface(); AspectInterceptorBuilder<T> builder = aspectDecorator.createBuilder(serviceInterface, delegate, String.format( "<Interceptor for %s(%s)>", resources.getServiceId(), serviceInterface.getName())); builder.adviseAllMethods(new MethodAdvice() { @Override public void advise(MethodInvocation invocation) { invocation.proceed(); Object result = invocation.getReturnValue(); invocation.setReturnValue(String.format("Decorated by %s[%s]", decoratorId, result)); } }); return builder.build(); }
private static <T> T doDecorate(final String decoratorId, ServiceResources resources, T delegate, AspectDecorator aspectDecorator) { Class<T> serviceInterface = resources.getServiceInterface(); AspectInterceptorBuilder<T> builder = aspectDecorator.createBuilder(serviceInterface, delegate, String.format( "<Interceptor for %s(%s)>", resources.getServiceId(), serviceInterface.getName())); builder.adviseAllMethods(new MethodAdvice() { @Override public void advise(MethodInvocation invocation) { invocation.proceed(); Object result = invocation.getReturnValue(); invocation.setReturnValue(String.format("Decorated by %s[%s]", decoratorId, result)); } }); return builder.build(); }
@Decorate(serviceInterface = AnnotatedServiceInterface.class) public static AnnotatedServiceInterface decorateAnnotated(AnnotatedServiceInterface delegate, AspectDecorator aspectDecorator) { final AspectInterceptorBuilder<AnnotatedServiceInterface> builder = aspectDecorator .createBuilder(AnnotatedServiceInterface.class, delegate, "!"); builder.adviseAllMethods(new TestAdvice()); return builder.build(); }
@Decorate(serviceInterface = NonAnnotatedServiceInterface.class) public static NonAnnotatedServiceInterface decorateNonAnnotated( NonAnnotatedServiceInterface delegate, AspectDecorator aspectDecorator) { final AspectInterceptorBuilder<NonAnnotatedServiceInterface> builder = aspectDecorator .createBuilder(NonAnnotatedServiceInterface.class, delegate, "!"); builder.adviseAllMethods(new TestAdvice()); return builder.build(); }