/* Projeto de MC726 * Representaçao de encomendas no sistema de planejamento de transportes * * Alunos : Alexandre Luti Telles (980575), * Alexandre Takayama (980583), * Andre Duarte Veras (980645), * Reinaldo Yoshio Simizu(981993), * Junior S. Predes (981458), * Marino Prieto (951214). */ /**--------------------------------------------------- * Classe: Encomendas * Descriçao: Classe que descreve as encomendas *---------------------------------------------------- */ package pckDemanda; import java.util.*; import java.io.FileReader; import java.io.*; import pckMapa.*; public class EncomendaImpl extends Encomenda { /** * Atributos */ private int encomendaID; private String nome; private float volume; private Trecho origem; private Trecho destino; private double tempoCarga; private double tempoDescarga; private double horaOrigem; private double horaDestino; /** * CONSTRUTORES */ /** * Cria uma encomenda vazia (sem dados) */ public EncomendaImpl (){ volume = 0; origem = null; destino = null; tempoCarga = 0; tempoDescarga = 0; horaOrigem = 0; horaDestino = 0; nome=new String("vazio"); encomendaID=0; } // /** // * Cria uma encomenda // * Entradas: Volume, Origem, Destino, Tempo de Carga, Tempo de Descarga, Hora Origem, Hora Destino // */ // public EncomendaImpl (float vol, Trecho ori, Trecho dest, double tCarga, double tDescarga, double hOrigem, double hDestino ){ // super(); // volume = vol; // origem = ori; // destino = dest; // tempoCarga = tCarga; // tempoDescarga = tDescarga; // horaOrigem = hOrigem; // horaDestino = hDestino; // } /** * Cria uma encomenda * Entradas: Volume, Origem, Destino, Tempo de Carga, Tempo de Descarga, Hora Origem, Hora Destino * Obs: Hora Origem e Hora Destino sao Strings no formato: */ public EncomendaImpl (float vol, Trecho ori, Trecho dest, double tCarga, double tDescarga, double hOrigem, double hDestino ){ volume = vol; origem = ori; destino = dest; tempoCarga = tCarga; tempoDescarga = tDescarga; horaOrigem = hOrigem; horaDestino = hDestino; } public EncomendaImpl (int id, String nom, float vol, Trecho ori, Trecho dest, double tCarga, double tDescarga, double hOrigem, double hDestino ) { nome=nom; encomendaID=id; volume = vol; origem = ori; destino = dest; tempoCarga = tCarga; tempoDescarga = tDescarga; horaOrigem = hOrigem; horaDestino = hDestino; } public String toString(){ StringBuffer temp=new StringBuffer(); temp.append( encomendaID);temp.append(" "); temp.append( nome);temp.append(" "); temp.append( volume);temp.append(" "); temp.append( origem.id());temp.append(" "); temp.append( destino.id());temp.append(" "); temp.append( tempoCarga);temp.append(" "); temp.append( tempoDescarga);temp.append(" "); temp.append( horaOrigem);temp.append(" "); temp.append( horaDestino);temp.append(" "); return temp.toString(); } /** * Retorna o ID da encomenda */ public int getEncomendaID(){ return encomendaID; } /** * Retorna o nome da encomenda */ public String getNome(){ return nome; } /** * Retorna o volume da encomenda */ public float getVolume(){ return volume; } /** * Retorna a origem da encomenda */ public Trecho getOrigem(){ return origem; } /** * Retorna o destino da encomenda */ public Trecho getDestino(){ return destino; } /** * Retorna o tempo de carga da encomenda */ public double getTempoCarga(){ return tempoCarga; } /** * Retorna o tempo de descarga da encomenda */ public double getTempoDescarga(){ return tempoDescarga; } /** * Retorna a hora da origem */ public double getHoraOrigem(){ return horaOrigem; } /** * Retorna a hora da destino */ public double getHoraDestino(){ return horaDestino; } /** * METODOS SET */ /** * Atribui o id da encomenda */ public void setID(int id){ this.encomendaID = id; } /** * Atribui o nome a encomenda */ public void setNome(String nome){ this.nome = nome; } /** * Atribui o volume a encomenda */ public void setVolume (float vol){ this.volume= vol; } /** * Atribui a origem a encomenda */ public void setOrigem (Trecho trecho){ this.origem = trecho; } /** * Atribui o destino a encomenda */ public void setDestino (Trecho trecho){ this.destino = trecho; } /** * Atribui o tempo de carga a encomenda */ public void setTempoCarga (double tempo){ this.tempoCarga = tempo; } /** * Atribui o tempo de descarga a encomenda */ public void setTempoDescarga (double tempo){ this.tempoDescarga = tempo; } /** * Atribui a hora de origem a encomenda */ public void setHoraOrigem (double data){ this.horaOrigem = data; } /** * Atribui a hora de destino a encomenda */ public void setHoraDestino (double data){ this.horaDestino = data; } /** * Leitura de uma encomenda a partir do arquivo */ public Encomenda LeArquivo(FileReader inputFile) { BufferedReader leitor = new BufferedReader(inputFile); EncomendaImpl enc = new EncomendaImpl(); try{ String linha = leitor.readLine(); System.out.println(linha); StringTokenizer atributo = new StringTokenizer(linha,";"); System.out.println("criou tolkenizer"); //System.out.println("Primeiro tolken"+atributo.nextToken()); enc.setID(Integer.parseInt(atributo.nextToken())); enc.setNome(atributo.nextToken()); enc.setVolume(Float.parseFloat(atributo.nextToken())); //ans duas linhas abaixo vamos precisar do construtor de trecho que recebe o id e cria o objeto enc.setOrigem(new TrechoImpl(Integer.parseInt(atributo.nextToken()))); //(Trecho trecho); enc.setDestino(new TrechoImpl(Integer.parseInt(atributo.nextToken())));//(Trecho trecho); enc.setTempoCarga(Double.parseDouble(atributo.nextToken())); enc.setTempoDescarga (Double.parseDouble(atributo.nextToken())); enc.setHoraOrigem (ConverteData(atributo.nextToken())); //(Date data); enc.setHoraDestino (ConverteData(atributo.nextToken())); //(Date data); } catch(Exception e){ System.out.println("Deu pau no metodo de le do arquivo: "+e.toString()); }; return enc; } static double ConverteData (String data){ double hora, minuto, segundo, soma; hora = Integer.parseInt(data.substring(0, 2)); minuto = Integer.parseInt(data.substring(3, 5)); segundo = Integer.parseInt(data.substring(6)); soma = (hora*3600)+(minuto*60)+segundo; return soma; } public static void main(String args[]){ Encomenda e; FileReader fr; e=new EncomendaImpl(); try{ fr=new FileReader("arquivoEncomendas.txt"); e=e.LeArquivo(fr); System.out.println("ToString: "+e.toString()); }catch(Exception err){ System.out.println("deu pau!!!!!!!!: "+err.toString()); } } }