VRaptor Interceptor

Estou com a seguinte duvida possuo as seguintes classes

public class GenericController<T> {
  @Get
  public void formulario() {
  }
}

@Resource
public class ProdutoController extends GenericController<Produto> {

}

Quero saber o seguinte como faco dentro do Intercept para pegar o que esta vindo como parametro detro do GenericController tipo fiz uns teste aqui e consegui pelo metodo que esta sendo Interceptado consegui pegar GenericController agora quero pegar o parametro
Exemplo

@Intercepts
public class AuthorizationInterceptor implements Interceptor {
    public boolean accepts(ResourceMethod method) {
        return true;
    }

    public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance)
            throws InterceptionException {
      //Consigo pegar GenericController
      System.out.println(method.getMethod().getDeclaringClass());
      stack.next(method, resourceInstance);
    }

}

Obrigado !!!
Joao Vitor

Se a classe que contém o generic for uma interface você usa:

Caso for uma classe use:

é como o garcia falou… mas dentro do interceptor vc vai ter que fazer:

ResourceMethod method = ...

Class<?> clazz = method.getResource().getType();

Class<?> tipoGenerico = (Class<?>) ((ParameterizedType) clazz.getGenericSuperclass()).getActualTypeArguments()[0]; 

ou algo do tipo

Lucas, eu não tenho certeza se o mirror é um filho da Caelum. Você sabe se essa funcionalidade de descobrir genéricos está implementado já no mirror? Há algum tempo conversei com alguém (Jonas?!) sobre isso, que seria implentado no futuro.

o mirror é filho de pessoas que são/eram da Caelum sim… Não sei se ele já tem essa funcionalidade… o projeto é open-source, vc pode contribuir :wink:

[quote=Lucas Cavalcanti]é como o garcia falou… mas dentro do interceptor vc vai ter que fazer:

ResourceMethod method = ...

Class<?> clazz = method.getResource().getType();

Class<?> tipoGenerico = (Class<?>) ((ParameterizedType) clazz.getGenericSuperclass()).getActualTypeArguments()[0]; 

ou algo do tipo[/quote]

Valeu isso mesmo deu certo…

Obrigado a todos pela ajuda

[quote=Lucas Cavalcanti]o mirror é filho de pessoas que são/eram da Caelum sim… Não sei se ele já tem essa funcionalidade… o projeto é open-source, vc pode contribuir :wink:
[/quote]

O interessante antes é saber se o foco do projeto é realmente trabalhar com generics. Até agora não ví nada sobre isso. Vou enviar um email ao pessoal, e quem sabe posso enviar uns códigos… :thumbup:

Falando em opensource, vamos voltar a conversar sobre aquele exception-handler? Ou nas conversas internas do projeto vocês ainda não gostaram da idéia? Tenho o código que já usei em 4 projetos, e é bem útil para tratar os erros quando não estamos afim de um try and catch.

Abs

vamos sim, manda um email pra lista caelum-vraptor-dev