You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by GitBox <gi...@apache.org> on 2019/07/13 20:36:21 UTC

[GitHub] [tomee] gabrielferreirapro commented on a change in pull request #511: TOMEE-2569 - translation of cdi-interceptor example.

gabrielferreirapro commented on a change in pull request #511: TOMEE-2569 - translation of cdi-interceptor example.
URL: https://github.com/apache/tomee/pull/511#discussion_r303218152
 
 

 ##########
 File path: examples/cdi-interceptors/README_pt.adoc
 ##########
 @@ -0,0 +1,222 @@
+= CDI Interceptors
+:index-group: CDI
+:jbake-type: page
+:jbake-status: published
+
+Vamos escrever uma aplicação simples que nos permite comprar entradas para um filme. Como toda aplicação, log é uma das questões transversais que nós temos.
+Alem disso, ha alguns métodos na nossa aplicação que só podem ser acessados no horário de trabalho. Se acessados fora do horário nos vamos lançar um `AccessDeniedException`.
+
+Como podemos marcar quais métodos devem ser interceptados? Não seria conveniente anotar um método desta forma:
+
+ @Log
+ public void aMethod(){...}
+
+ou
+
+ @TimeRestricted
+ public void bMethod(){...}
+
+Vamos criar essas anotações que vão "marcar" um método para interceptação.
+
+ @InterceptorBinding
+ @Target({ TYPE, METHOD })
+ @Retention(RUNTIME)
+ public @interface Log {
+ }
+
+e
+
+ @InterceptorBinding
+ @Target({ TYPE, METHOD })
+ @Retention(RUNTIME)
+ public @interface TimeRestricted {
+ }
+
+Garanta que voce não esqueceu a anotação `@InterceptorBinding` acima! Agora nossas anotações personalizadas estão criadas, vamos anexa-las (ou vincula-las) aos interceptores.
+
+Aqui esta nosso interceptor de log. Um método `@AroundInvoke` e estamos quase terminando.
+
+ @Interceptor
+ @Log  //binding the interceptor here. now any method annotated with @Log would be intercepted by logMethodEntry
 
 Review comment:
   Thank you @Daniel-Dos, revised.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services