A Framework de Interacção com o Utilizador

Os alunos devem ler, com atenção, a documentação respeitante à framework de interacção com o utilizador po-ulib presente na secção po-uilib antes de começarem a realizar o trabalho pedido neste laboratório.

Resumidamente, a funcionalidade de mostrar as operações disponíveis e executar a opção escolhida pelo utilizador é concretizada pelas classes Menu e Command. A classe Command representa uma operação genérica que pode ser executada sobre uma dada entidade. Cada comando sabe o título da operação que representa (é utilizado no menu para indicar os títulos das operações disponíveis). Esta classe abstracta define o método abstracto execute() que executa a operação. Cada operação a disponibilizar num menu terá que ser concretizada numa sua subclasse. A classe Menu recebe um vector de comandos e mostra os títulos destes comandos por forma a que os utilizadores saibam as operações disponíveis. Cabe ainda ao menu executar o comando correspondente à opção escolhida pelo utilizador. 

Por forma a centralizar (e assim permitir a reutilização de código) a interface com o utilizador, existe uma classe, chamada Form, que é responsável pela interacção com o utilizador. Esta classe fornece métodos que permitem escrever uma cadeia de caracteres (prompt) e ler um determinado tipo de dados inserido pelo utilizador consoante a instância de Input escolhida. Esta classe concentra todas as operações de leitura de dados (fornecidos pelo utilizador). Os dados lidos são validados, i.e., apenas são aceites dados correctos. No caso do utilizador inserir dados inválidos, é pedida a respectiva re-introdução.

A classe Display da framework permite apresentar uma determinada mensagem ao utilizador. Mais informação pode ser consultada na documentação da framework.