Sobrescreveria o construtor, mas isso não evitaria um erro no caso de o usuário informar null para a requisição. Qual a melhor forma?
Sobrescreveria o construtor, mas isso não evitaria um erro no caso de o usuário informar null para a requisição. Qual a melhor forma?
Realmente é um construtor sem parametro ou recebendo null, e na classe você trata no método responde(Requisicao, Conta) quando receber null.
Neste caso teria que tratar o null na requisição lançando uma exceção.
Neste caso teria que tratar o null na requisição lançando uma exceção.
Oi Jaaziel
Você conseguiu solucionar sua dúvida?
Teria seus métodos responde semelhantes a esse:
public void responde(Requisicao req, Conta conta) {
if(req.getFormato() == Formato.XML) {
System.out.println("<conta><titular>" + conta.getTitular() + "</titular><saldo>" + conta.getSaldo() + "</saldo></conta>");
} else if (resposta != null){
resposta.responde(req, conta);
}else{
//Não realiza comportamento algum
}
}
Eu criei a classe SemResposta, eu a deixei sem construtor. Tomei como base que o "chain of responsibility" precisa de uma classe de fim de corrente. Correto?
/**
* Created by rpimenta on 5/27/16.
*/
public class WithOutFormat implements FormatAccount{
@Override
public String getFormatted(Account account, Format format) {
return null;
}
@Override
public void setNextFormat(FormatAccount formatAccount) {
//this method doesn't need return anything because it's the end of the chain.
}
}