Ps.: Meu teclado esta sem acentos…
Existe alguma forma de solicitar ao VRaptor, mesmo que sendo usando API propria do vraptor ou spring, a injecao de dependencia de algum componente sem ser no construtor ??
Meu caso e’ o seguinte… eu tenho o seguinte objeto
[code]@Intercepts
@RequestScoped
public class FirstInterceptor implements Interceptor {
private final Error500 error500;
private final CommonRequestConfiguration conf;
public FirstInterceptor(final Error500 error500, final CommonRequestConfiguration conf) {
this.error500 = error500;
this.conf = conf;
}
@Override
public boolean accepts(ResourceMethod resource) {
return true;
}
@Override
public void intercept(InterceptorStack stack, ResourceMethod method,
Object resourceInstance) throws InterceptionException {
try {
conf.apply(method, resourceInstance);
stack.next(method, resourceInstance);
} catch(Exception ex) {
throw error500.handle(ex);
}
}
}[/code]
eu atualmente so injeto um CommonRequestConfiguration, mas eu gostaria que isso fosse um lista algo como
ai eu chamaria a dependencia nao pelo Construtor, mas por um provedor interno de depencia do vraptor, algo como
@Override
public void intercept(InterceptorStack stack, ResourceMethod method,
Object resourceInstance) throws InterceptionException {
try {
for (Class<CommonRequestConfiguration> confClass : confClasses) {
provedorDeDependencia
.getDependencia(confClass)
.apply(method, resourceInstance);
}
stack.next(method, resourceInstance);
} catch(Exception ex) {
throw error500.handle(ex);
}
}
A minha duvida e’ se existe algo no vraptor onde eu diria qual e’ a classe que eu quero a dependencia e ele me retorne o objeto associado ao meu scopo, tem como fazer isso ??? sem ser no momento do construtor ?? com API do vraptor ou do spring ?
Motivacao: eu gostaria sem ter que alterar o codigo do FirstInterceptor, consegui inscrever mais configuracoes a serem executadas antes da logica ser executada… o FirstInterceptor faz parte de um pacote basico do meu sistema, uso em diversas aplicacoes, e nao gostaria de ter q recodar o objeto… minha intencao e’ adicionar novas classes, em cada projeto, para usar confs diferentes em cada um…