示例#1
0
  /**
   * Programa uma disciplina nesse período.
   *
   * @param disciplina a disciplina para programar
   * @throws NullPointerException se {@code disciplina == null}
   * @throws PoliticaDeCreditosException se a operação for inválida
   */
  public void programar(Disciplina disciplina) throws PoliticaDeCreditosException {
    Parametro.naoNulo("disciplina", disciplina);

    if (!politicaDeCreditos.podeProgramar(disciplina, this))
      throw new PoliticaDeCreditosException("Máximo de créditos excedido");

    disciplinas.add(disciplina);
  }
示例#2
0
  /**
   * Retorna se é possível programar a disciplina dada nesse período
   *
   * @throws NullPointerException se {@code disciplina == null}
   */
  public boolean podeProgramar(Disciplina disciplina) {
    Parametro.naoNulo("disciplina", disciplina);

    return politicaDeCreditos.podeProgramar(disciplina, this);
  }