Tô com um grande problema aqui…
Quando tento sobrescrever um método de uma classe no Managed beans, simplesmente não funciona!!! É lançada a seguinte exceção:
Caused by: java.lang.IllegalAccessException: Class org.apache.el.parser.AstValue can not access a member of class zcm.bean.orca.ORCP1034Bean$1 with modifiers "public"
:x
Não tem sentido isso, porque eu não posso acessar? não tem nada público lá, a variável que ele tenta acessar é privada… Ué, como é que o JSF faz isso? E os recurso da orientação a objeto?
O código que construi a classe interna é o seguinte:
public ORCP1034Bean() {
itensDoMenuPrincipal = DadosUsuario.modeloMenu;
getPopPesquisaBean().setShowModalPanel(false);
contruirTelasPesquisas();
}
public void contruirTelasPesquisas(){
telaPesquisaBanco = new TelaPesquisaBean(new Pesquisador(Pesquisador.CONTAS_BANCARIAS, txtContaBancaria));
ConsultorCodigo consultor = new ConsultorCodigo() {
@Override
public void consulta(ValueChangeEvent event) {
FacesContext.getCurrentInstance().addMessage("message", new FacesMessage("Erro de validação"));
if (FacesUtil.mudaFaseParaUpdateModel(event)==true){
try {
String banco = Pesquisa.pesquisaBanco((new ConnectDB()).getBanco(),(String)event.getNewValue());
telaPesquisaBanco.setTxtDescricao(banco);
} catch (CacheException ex) {
Logger.getLogger(ORCP1034Bean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
telaPesquisaBanco.setConsultorCodigo(consultor);
}
Alguém tem alguma idéia sobre por que acontece o problema e/ou como resolvê-la? :oops: