Skip to content

Instantly share code, notes, and snippets.

@rafaelchagasb
Created December 20, 2011 11:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafaelchagasb/1501238 to your computer and use it in GitHub Desktop.
Save rafaelchagasb/1501238 to your computer and use it in GitHub Desktop.
Template Method - Exercise 4
package exercise4;
import java.util.List;
public abstract class TemplateRelatorio {
public void gerarRelatorio(MockData mock)
{
gerarCabecalho(mock);
gerarCorpo(mock.getData());
gerarRodape(mock);
}
public abstract void gerarCabecalho(MockData mock);
public abstract void gerarCorpo(List<Data> dados);
public abstract void gerarRodape(MockData mock);
}
package exercise4;
import java.util.List;
public class RelatorioSimples extends TemplateRelatorio {
@Override
public void gerarCabecalho(MockData mock) {
System.out.println("Nome do bd: " + mock.getNomeBD());
}
@Override
public void gerarCorpo(List<Data> dados) {
for(Data data:dados)
System.out.println("Titular: " + data.getTitular() + " Saldo: " + data.getSaldo());
}
@Override
public void gerarRodape(MockData mock) {
System.out.println("Telefone: " + mock.getTelefone());
}
}
package exercise4;
import java.util.Date;
import java.util.List;
public class RelatorioComplexo extends TemplateRelatorio{
@Override
public void gerarCabecalho(MockData mock) {
System.out.println("Nome do bd: " + mock.getNomeBD());
System.out.println("Endereço: " + mock.getEndereco());
System.out.println("Telefone: " + mock.getTelefone());
}
@Override
public void gerarCorpo(List<Data> dados) {
for(Data data:dados)
{
System.out.println("Titular: " + data.getTitular() + " Saldo: " + data.getSaldo() + " Agência" + data.getAgencia() + " Numero da conta:" + data.getNumeroDaConta());
}
}
@Override
public void gerarRodape(MockData mock) {
System.out.println("Email: " + mock.getEmail());
System.out.println("Data: " + new Date());
}
}
package exercise4;
import java.util.ArrayList;
import java.util.List;
public class MockData {
private List<Data> data;
private String nomeBD;
private String endereco;
private String email;
private String telefone;
public MockData() {
data = new ArrayList<Data>();
}
public List<Data> getData() {
return data;
}
public void setData(List<Data> data) {
this.data = data;
}
public String getNomeBD() {
return nomeBD;
}
public void setNomeBD(String nomeBD) {
this.nomeBD = nomeBD;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void adicionaItem(Data data)
{
this.data.add(data);
}
}
package exercise4;
public class Data {
private String titular;
private double saldo;
private String agencia;
private long numeroDaConta;
public Data(String titular,double saldo)
{
this.titular = titular;
this.saldo = saldo;
}
public String getTitular() {
return titular;
}
public void setTitular(String titular) {
this.titular = titular;
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public String getAgencia() {
return agencia;
}
public void setAgencia(String agencia) {
this.agencia = agencia;
}
public long getNumeroDaConta() {
return numeroDaConta;
}
public void setNumeroDaConta(long numeroDaConta) {
this.numeroDaConta = numeroDaConta;
}
}
package exercise4;
import java.util.ArrayList;
import java.util.List;
public class Testar {
public static void main(String[] args) {
MockData mock = new MockData();
mock.setNomeBD("BDRelatorio");
mock.setEmail("rafael@gmail.com");
mock.setEndereco("Rua teste nº1000");
mock.setTelefone("3222-1212");
List<Data> data = new ArrayList<Data>();
data.add(new Data("Jose", 100));
data.add(new Data("Maria", 100));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment