olá a todos,
tem como fazer uma implementação de uma interface de acordo com a classe concreta passada???
tipo assim:
RelatorioFactory relatorioFactory = null;
Relatorio relatorio = relatorioFactory.getRelatorioDeAtividades();
bytes = relatorio.geraRelatorioPdf(relatorioVO);
A RelatorioFactory é uma classe abstrata e tem métodos que retornam classes concretas que implementam a interface Relatorio.
tem como fazer isso??
Vou colar o código aqui:
public abstract class RelatorioFactory {
public abstract GeraRelatorioDeAtividades getRelatorioDeAtividades();
}
public interface Relatorio {
public byte[] geraRelatorioPdf(Object obj) throws FunctionalityException;
public byte[] geraRelatorioXls(Object obj) throws FunctionalityException;
}
public class GeraRelatorioDeAtividades implements Relatorio{
private static final Log s_log = LogFactory.getLog(GeraRelatorioDeAtividades.class);
public byte[] geraRelatorioPdf(Object obj) throws FunctionalityException {
return null;
}
public byte[] geraRelatorioXls(Object obj) throws FunctionalityException {
return null;
}
e a chamada ficaria assim:
RelatorioFactory relatorioFactory = null;
Relatorio relatorio = relatorioFactory.getRelatorioDeAtividades();
bytes = relatorio.geraRelatorioPdf(relatorioVO);
Obrigado!