JSF e sobrescrição de método no Managed Bean

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:

Velho
Pelo que eu estava vendo vc não pode mudar o tipo do método sobescrito. Na verdade vc esta fazendo uma sobrecarga no método. Tenta definir o métodos da classe filha igual a do pai!!

Espero ter ajudado.

Pois é, diegorc85, pior que eu acho que não…

A classe que eu tenho é abstrata, portanto se o método não for sobrescrito eu não posso criar uma instância dela…
A assinatura dos métodos está igual…
Já tentei fazer o mesmo com classe concretas e sobrescrever o método, ele também não deixa…

Acho q o JSF tem algum problema com polimorfismo, heeheheeheh :shock: