/** * Grupo T - MC726 * Componentes: * Flavia Garcia Poly RA:981191 * Jocelen Correa da Silva RA:981390 * Priscilla Sanches Marques RA:981944 * Ruth Fabiana Leite Vieira RA:982116 * Sergio Ricardo Martelo RA:982141 * Roberto Akira RA:963150 */ package pckPlano; import pckMapa.Trecho; import pckDemanda.Encomenda; import java.util.Date; import java.util.Vector; public class PassoImpl extends Passo { /** * Classe que define a estrutura de um Passo. * * - Um Passo e' o indice de um trecho em uma rota. */ protected Trecho trechoPasso; protected IntervaloData intervaloPasso; protected Vector encomendasCarregar = new Vector(); protected Vector encomendasDescarregar = new Vector(); /** * Devolve um objeto com o intervalo de tempo em que esse passo deve * ser executado. * Entrada: nenhuma * Saida: Objeto IntervaloData */ public IntervaloData intervalo() { return intervaloPasso; } public Encomenda[] carrega() { /** * Devolve um vetor com todas as encomendas a serem carregadas nesse. * passo. * Entrada: nenhuma. * Saida: vetor de objetos Encomenda a serem carregados. */ Encomenda[] v = new Encomenda[50]; this.encomendaCarregar.copyInto(v); return v; } public abstract Encomenda[] descarrega() { /** * Devolve um vetor com todas as encomendas a serem descarregadas. * nesse passo. * Entrada: nenhuma. * Saida: vetor de objetos Encomenda a serem descarregados. */ Encomenda[] v = new Encomenda[50]; this.encomendaDescarregar.copyInto(v); return v; } public abstract Trecho trecho() { /** * Devolve o trecho associado a este passo. * Entrada: nenhuma. * Saida: objeto trecho associado a este passo. */ return this.trechoPasso; } public abstract void carregarEncomenda(Encomenda e) { /** * Insere uma encomenda na relacao de encomendas a serem carregadas * nesse passo da rota. * Entrada: objeto encomenda a ser incluida. * Saida: nenhuma. */ this.encomendaCarregar.addElement(e); } public abstract void descarregarEncomenda(Encomenda e) { /** * Insere uma encomenda na relacao de encomendas a serem descarregadas * nesse passo da rota. * Entrada: objeto encomenda a ser incluida. * Saida: nenhuma. */ this.encomendaDescarregar.addElement(e); } public abstract void associarTrecho(Trecho t) { /** * Associa um trecho a este passo. * Entrada: trecho a ser associado. * Saida: nenhuma. */ this.trechoPasso = t; } public abstract void associarIntervaloData(IntervaloData i) { /** * Associa um intervalo de tempo a este passo. * Entrada: intervalo a ser associado. * Saida: nenhuma. */ this.intervaloPasso = i; } }