Buen dia compañeros del foro, tengo un dilema que no he podido resolver.
en el siguiente fragmento de codigo
Código Java:
Ver originalComponenteBase base=(ComponenteBase) BuscadorFactoria.getFaces();
BuscadorFactoria es una clase concreta y el metodo getFaces(), es un metodo que devuelve un objeto de tipo Object,Como sigue:
Código Java:
Ver originalpublic class BuscadorFactoria{
public static Object getFaces
() { }
void enTres(){
System.
out.
println("metodo propio de Tres"); }
}
ComponenteBase es una clase abstracta como la siguiente
Código Java:
Ver originalpublic abstract class ComponenteBase
extends Object implements EnvoltorCara
<ComponenteBase
>{ @Override
public ComponenteBase getWraped(){
return (ComponenteBase
) new Object(); }
}
y en la clase Main como la que sigue
Código Java:
Ver originalpublic class Main {
public static void main
(String[] args
) { ComponenteBase base=(ComponenteBase) BuscadorFactoria.getFaces();
}
}
Me devuelve un error como el que sigue:
Pero cuando me voy a la api de JavaServer Faces en la API de javax.faces.Application, y abro la documentacion de la clase AplicationFactory en la descripcion de la clase me muestra el siguiente fragmento de codigo:
Código Java:
Ver originalApplicationFactory factory = (ApplicationFactory)
FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
y la cabeza de la clase es la siguiente:
Código Java:
Ver originalpublic abstract class ApplicationFactory
implements FacesWrapper<ApplicationFactory>
donde Obviamente ApplicationFactory es abstracta, no se como sera ahì, por que si se fijan en la parte de arriba dice que la ApplicationFactory hace un casting de un objeto y para eso se nesecita que halla alguna clase que herede de ApplicationFactory para poder trabajar, pero por mas que busco en la documentacion no hay una clase concreta que herede de la esta clase ni tampoco de la clase Application que es de la que se requiere devolver una instancia, pero cuando lo ensallo en mi computador si funciona y mi codigo no.
Que sera?.
De antemano muchas gracias.