Package instituicao

Source Code of instituicao.Instituicao

package instituicao;


import java.io.StringReader;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.jdom2.Document;
import org.jdom2.Element;

import system.Cody;

/**Classe responsável pela descrição de uma instituicao de ensino especial ou regular, contém todos os dados referentes a descrição da instituicao
* e as turmas ligadas a ela.
*
* @author Equipe DSSkywalker
*
*/
public class Instituicao {
 
  private String nome;
  private String cnpj;
  private String tipo;
  private ArrayList<Turma> turmas;

 
  public Instituicao(){
    turmas = new ArrayList<Turma>();
   
  }
 
  public Instituicao(String nome, String cnpj, String tipo){
    this.nome = nome;
    this.cnpj = cnpj;
    this.tipo = tipo;
    turmas = new ArrayList<Turma>();
 
  }
 
  public String getNome(){
    return this.nome;
  }
 
  public void setNome(String nome){
    this.nome = nome;
   
  }
 
  public String getCnpj(){
    return cnpj;
  }
 
  public void setCnpj(String cnpj){
    this.cnpj = cnpj;
   
  }
 
  public String getTipo(){
    return tipo;
  }
 
  public ArrayList<Turma> getListaTurmas(){
    return this.turmas;
  }
 
  public void setTipo(String tipo){
    this.tipo = tipo;
   
  }
 
  public String[] getTurmas(){
    String[] retornaTurmas = new String[ turmas.size() ];
    int a = 0;
    for(Turma turma : turmas){
      retornaTurmas[a] =turma.getNome() + " " +  turma.getAno();
      a++;
    }
    return retornaTurmas;
  }
 
  public Turma getTurma(int id){
    return turmas.get(id);
  }
 
  public void setTurmas(ArrayList<Turma> turmas){
    this.turmas.clear();
    for(Turma turma : turmas){
      this.turmas.add(turma);
    }
  }
 
  public void setNomeTurmas(ArrayList<Turma> turmas){
    this.turmas.clear();
    for(Turma turma : turmas){
      this.criarNovaTurma(turma.getNome(), turma.getAno());
    }
   
  }
 
  public void excluirTurma(String identificador){
    turmas.remove(Integer.parseInt(identificador));
   
  }
 
  public boolean criarNovaTurma(String nome, String ano){
    for(Turma turma: turmas){
      if(turma.getNome().equals(nome) && turma.getAno().equals(ano)){
        return false;
      }
    }
    turmas.add(new Turma(nome, ano));
    return true;
  }
 
  public int getNumeroDeTurmas() {
    return turmas.size();
  }
 
  public void validaCnpj(String cnpj){
   
  }
 
  public boolean setTurmasXML(List<Element> turmasRaiz){
    String nomeTurma, anoTurma;
    List<Element> alunosNaTurma = null;
    ArrayList<Turma> turmasDoXml = new ArrayList<Turma>();
    Turma instTurma;
   
    for(Element turmaTag: turmasRaiz){
      nomeTurma = turmaTag.getChildText("nome");
      anoTurma = turmaTag.getChildText("ano");
     
      if(nomeTurma != null){     
        instTurma = new Turma(nomeTurma, anoTurma);
   
        alunosNaTurma =  turmaTag.getChildren("aluno");
       
        instTurma.importarTurmaXml(alunosNaTurma);
 
        turmasDoXml.add(instTurma);
      }
    }
    setTurmas(turmasDoXml);
    return true;
  }
 
  public static String md5Java(Instituicao message){
    String digest = null;
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] hash = md.digest(message.toString().getBytes());
        StringBuilder sb = new StringBuilder(2*hash.length);
        for(byte b : hash){
          sb.append(String.format("%02x", b&0xff));
        }
        digest = sb.toString();
      } catch (NoSuchAlgorithmException ex) {
        Logger.getLogger(StringReader.class.getName()).log(Level.SEVERE, null, ex);
      }
      return digest;
  }
 
  public Document getInstituicaoXML(){
    int i;
   
    Element instXML = new Element("instituicao");
    Document doc = new Document(instXML);
   
    Element instNome = new Element("nome");
    instNome.setText(nome);
   
    Element instCnpj = new Element("cnpj");
    instCnpj.setText(formataString(cnpj));
   
    Element instTipo = new Element("tipo");
    instTipo.setText(tipo);
   
    instXML.addContent(instNome);
    instXML.addContent(instCnpj);
    instXML.addContent(instTipo);
   
    if(getNumeroDeTurmas() > 0){
      for(i=0;i<getNumeroDeTurmas();i++){
        Element turmaXML;
        turmaXML = turmas.get(i).exportarTurmaXml();
        instXML.addContent(turmaXML);
      }
    }
   
    Element instHash = new Element("hash");
    instHash.setText(md5Java(this));
    instXML.addContent(instHash);
   
    Element programaVersao = new Element("versao");
    programaVersao.setText(Cody.getInstancia().getVersaoDoSistema());
    instXML.addContent(programaVersao);
   
    return doc;   
  }
 
  private String formataString(String val){
    val = val.replace('.',' ');
    val = val.replace('-',' ');
        val = val.replace('/',' ');
        val = val.replaceAll(" ","");
        return val;
  }
 
}
TOP

Related Classes of instituicao.Instituicao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.