/** * 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; public abstract class Passo { /** * Classe que define a estrutura de um Passo. * * - Um Passo e' o indice de um trecho em uma rota. */ public abstract IntervaloData intervalo(); /** * Devolve um objeto com o intervalo de tempo em que esse passo deve * ser executado. * Entrada: nenhuma * Saida: Objeto IntervaloData */ public abstract Encomenda[] carrega(); /** * Devolve um vetor com todas as encomendas a serem carregadas nesse. * passo. * Entrada: nenhuma. * Saida: vetor de objetos Encomenda a serem carregados. */ 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. */ public abstract Trecho trecho(); /** * Devolve o trecho associado a este passo. * Entrada: nenhuma. * Saida: objeto trecho associado a este passo. */ public abstract void incluirEncomendaCarga(Encomenda e); /** * Insere uma encomenda na relacao de encomendas a serem carregadas * nesse passo da rota. * Entrada: objeto encomenda a ser incluida. * Saida: nenhuma. */ public abstract void incluirEncomendaDescarga(Encomenda e); /** * Insere uma encomenda na relacao de encomendas a serem descarregadas * nesse passo da rota. * Entrada: objeto encomenda a ser incluida. * Saida: nenhuma. */ public abstract Encomenda[] excluirEncomendaCarga(Encomenda e); /** * Excluir uma encomenda da relacao de encomendas a serem carregadas. * nesse passo da rota. * Entrada : objeto encomenda a ser excluido. * Saida : vetor encCarregar modificado; se a saida for NULL, isso * significa que essa encomenda nao pertence a esse passo, e portanto * nao pode ser excluida ! */ public abstract Encomenda[] excluirEncomendaDescarga(Encomenda e); /** * Excluir uma encomenda da relacao de encomendas a serem descarregadas. * nesse passo da rota. * Entrada : objeto encomenda a ser excluido. * Saida : vetor encDescarregar modificado, se a saida for NULL, isso * significa que essa encomenda nao pertence a esse passo, e portanto * nao pode ser excluida ! */ public abstract void associarTrecho(Trecho t); /** * Associa um trecho a este passo. * Entrada: trecho a ser associado. * Saida: nenhuma. */ public abstract void associarIntervaloData(IntervaloData i); /** * Associa um intervalo de tempo a este passo. * Entrada: intervalo a ser associado. * Saida: nenhuma. */ public abstract int pertenceEncomendaCarga(Encomenda e); /** * Verifica se uma dada encomenda esta associada ao passo, no * vetor de encpomendas a serem carregadas. * Entrada : Um objeto do tipo encomenda * Saida : 1, se a encomenda pertencer ao passo; 0, cc. */ public abstract int pertenceEncomendaDescarga(Encomenda e); /** * Verifica se uma dada encomenda esta associada ao passo, no * vetor de encpomendas a serem descarregadas. * Entrada : Um objeto do tipo encomenda * Saida : 1, se a encomenda pertencer ao passo; 0, cc. */ }