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();
    }
}