Skip to content

Instantly share code, notes, and snippets.

@alexduarte
Created December 20, 2011 02:55
Show Gist options
  • Save alexduarte/1500020 to your computer and use it in GitHub Desktop.
Save alexduarte/1500020 to your computer and use it in GitHub Desktop.
public class DescontaPorCincoItens implements Desconto {
private Desconto proximo;
public double desconta(Orcamento orcamento) {
if(orcamento.getItens().size()>5){
return orcamento.getValor()*0.1;
}
if(proximo == null){
return 0;
}
else{
return proximo.desconta(orcamento);
}
}
public void setProximo(Desconto proximo) {
this.proximo = proximo;
}
}
public class DescontaPorMaisDeQuinhentosReais implements Desconto {
private Desconto proximo;
public void setProximo(Desconto proximo) {
this.proximo = proximo;
}
public double desconta(Orcamento orcamento) {
if(orcamento.getValor()>500.00){
return orcamento.getValor()*0.07;
}
if(proximo==null){
return 0;
}
else {
return proximo.desconta(orcamento);
}
}
}
public class DescontaPorVendaCasada implements Desconto {
private Desconto proximo;
public double desconta(Orcamento orcamento) {
if(existe("Lapis",orcamento)&& existe("Caneta", orcamento)){
return orcamento.getValor()*0.05;
}
if(proximo == null){
return 0;
}
else{
return proximo.desconta(orcamento);
}
}
public void setProximo(Desconto proximo) {
this.proximo = proximo;
}
public boolean existe(String nomeDoItem, Orcamento orcamento){
for(Item item: orcamento.getItens()){
if(item.getNome().equals(nomeDoItem) && item.getNome().equals(nomeDoItem))
return true;
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment