import java.util.List;

public class Capitulo13Polimorfismo {
    interface Comando {
        String nome();
        String executar();
    }

    record ComandoTexto(String nome, String resposta) implements Comando {
        @Override
        public String executar() {
            return resposta;
        }
    }

    static String processar(String entrada, List<Comando> comandos) {
        for (Comando comando : comandos) {
            if (comando.nome().equalsIgnoreCase(entrada)) {
                return comando.executar();
            }
        }
        return "Comando desconhecido.";
    }

    public static void main(String[] args) {
        List<Comando> comandos = List.of(
                new ComandoTexto("ajuda", "Comandos: ajuda e dica."),
                new ComandoTexto("dica", "Programe contra contratos pequenos."));
        System.out.println(processar("dica", comandos));
    }
}
