function gravarDisciplina(Disciplina $disciplina){

		if (!is_object($disciplina->getInstituicao())){
			throw new Exception('Informe a instituição!');
		}else{
			$disciplina->Xinstituicao = $disciplina->getInstituicao()->getId();
		}

		if (!is_object($disciplina->getProfessor())){
			#throw new Exception('Informe o professor!');
			$disciplina->Xprofessor = " NULL ";
		}else{
			$disciplina->Xprofessor = $disciplina->getProfessor()->getId();
		}

		if (!is_object($disciplina->getCurso())){
			throw new Exception('Informe o curso!');
		}else{
			$disciplina->Xcurso = $disciplina->getCurso()->getId();
		}

		if (strlen($disciplina->getNome())==0){
			throw new Exception('Informe o nome da disciplina!');
		}else{
			$disciplina->Xnome = "'".$disciplina->getNome()."'";
		}

		$disciplinaDAO = new DisciplinaDAO(); 
		$disciplinaDAO->setBancoDados($this->banco); 
		$disciplinaDAO->gravaDadosDisciplina($disciplina); 
		$disciplinaDAO->apagaDadosDisciplinaTopico($disciplina); 

		for ($i=0;$i<$disciplina->getQtdeTopico();$i++){
			$disciplina->getTopico($i)->setDisciplina($disciplina);
			$this->gravarTopico($disciplina->getTopico($i)); 
		}
	}