/** * 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; public abstract class Plano { int quantrotas; Rota[] rotas; public PlanoImpl(int q) { this.quantrotas = q; } public Rota[] rotas() { /** * Retorna todas as rotas do plano. * Entrada : - * Saida : Um vetor contendo objetos do tipo Rota. */ int i; Rota[] r = new Rota[this.quantrotas]; for (i=0; i < this.rotas.length; i++) r[i] = this.rotas[i]; return r; } public Rota rota(int i) { /** * Retorna a rota identificada pelo indice i contida no plano. * Entrada : indice que identifica a rota no plano. * Saida : um objeto do tipo Rota. */ return(this.rotas[i]); } public Passo trechoCarga(Encomenda e) { /** * Dada uma encomenda e, retorna o passo da rota no qual * esta sera carregada no veiculo. * Entrada : um objeto do tipo Encomenda. * Saida : um objeto do tipo Passo. */ int i = 0; do { passo = this.rotas[i].pertenceEncomenda(e); ++i; } while (passo == NULL); } public Passo trechoDecarga(Encomenda e) { /** * Dada uma encomenda e, retorna o passo da rota no qual * esta sera descarregada do veiculo. * Entrada : um objeto do tipo Encomenda. * Saida : um objeto do tipo Trecho. */ } public Veiculo veiculo(Encomenda e) { /** * Dada uma encomenda e, retorna o veiculo ao qual ela esta associada. * Entrada : um objeto do tipo Encomenda. * Saida : um objeto do tipo Veiculo. */ } }