Este comando é responsável por apresentar todos os números guardados pela aplicação. A série de números é mantida pela classe IntegerManger da camada de lógica de negócio. Esta entidade é guardada no atributo _receiver da superclasse Command, o qual é inicializado no construtor desta classe. A concretiazção do método execute da classe ListNumbers pede primeiro a lista de números inseridos pelo utilizador à entidade do domínio da aplicação que mantém a série de números inseridos pelo utilizador. Esta entidade é acedida através do atributo _receiver. Depois, constroi-se incrementalmente o texto a apresentar ao utilizador adicionando cada número da série numa linha separada através da invocação do método addLine sobre a instância de Display que está disponível para qualquer comando via atributo _display. Após se ter construído todo o texto, indica-se ao Display referenciado por _display para finalmente apresentar o texto final ao utilizador ao invocar o método display().
package ex.app.main;
import java.util.List;
import ex.core.IntegerManager;
import pt.tecnico.po.ui.Command;
import pt.tecnico.po.ui.DialogException;
import pt.tecnico.po.ui.Input;
public class ListNumbers extends Command<IntegerManager> {
//Constructor
public ListNumbers(IntegerManager ent) {
super("Listar Números", ent);
}
protected void execute() { // executed when this option is selected
List<Integer> list = _receiver.getNumbers();
for (Integer number : list)
_display.addLine(number.toString());
_display.display();
}
}