Ваша задача - «отобразить отчет в формате PDF или HTML с использованием шаблона разработки стратегии», поэтому здесь будет применяться стратегия. Перед отображением отчета у вас должны быть все рассчитанные данные (сохранить работу, как было сделано), а после просто передать данные и выбрать соответствующий тип отчета.
public interface IReport
{
public void printReport(String data);
}
public class ReportHTML implements IReport
{
@Override
public void printReport(String data) {
System.out.println("Html Report with data="+data);
}
}
public class ReportPDF implements IReport{
@Override
public void printReport(String data) {
System.out.println("PDF Report with data="+data);
}
}
public class Test {
public static void main(String[] args)
{
//do whatever computation concerning business logic
//after for print pass computed data and chose report type as needed
IReport ir = new ReportHTML();
ir.printReport("[Customers, Movie, Rental]");
ir = new ReportPDF();
ir.printReport("[Customers, Movie, Rental]");
}
}
Вывод:
Html Report with data=[Customers, Movie, Rental]
PDF Report with data=[Customers, Movie, Rental]