en el siguiente fragmento de codigo
Código Java:
Ver original
ComponenteBase 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 original
ComponenteBase es una clase abstracta como la siguiente
Código Java:
Ver original
y en la clase Main como la que sigue
Código Java:
Ver original
public class Main { ComponenteBase base=(ComponenteBase) BuscadorFactoria.getFaces(); } }
Me devuelve un error como el que sigue:
Código Java:
Ver original
Exception in thread "main" java.lang.ClassCastException: java.lang.Object cannot be cast to pruebas.ComponenteBase
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 original
ApplicationFactory factory = (ApplicationFactory) FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
y la cabeza de la clase es la siguiente:
Código Java:
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.Ver original
public abstract class ApplicationFactory extends Object implements FacesWrapper<ApplicationFactory>
Que sera?.
De antemano muchas gracias.