Package modelo.ladron

Source Code of modelo.ladron.Itinerario

package modelo.ladron;

import java.util.ArrayList;
import java.util.List;

import modelo.mapa.Ciudad;

import org.w3c.dom.Node;

public class Itinerario {

  private ArrayList<Ciudad> ciudades;

  public Itinerario() {
    this.ciudades = new ArrayList<Ciudad>();
  }

  public void agregarAlRecorrido(Ciudad ciudad) {
    this.ciudades.add(ciudad);
  }

  public List<Ciudad> ciudades() {
    return this.ciudades;
  }

  public Ciudad ciudadSiguiente(Ciudad ciudadActual) {
    int nroCiudadActual = this.ciudades.indexOf(ciudadActual);
    return this.ciudadNro(nroCiudadActual + 1);
  }
 
  public boolean esCiudadFinal(int cantDeEscapes, Ciudad ciudad) {
    return ciudad.equals(this.ciudadNro(cantDeEscapes - 1));
  }
 
  public boolean esCiudadInicial(Ciudad ciudad) {
    return ciudad.equals(this.ciudadNro(0));
  }
 
  public Ciudad ciudadNro(int nro) {
    return this.ciudades.get(nro);
  }
 
  public boolean tieneDestinos() {
    return (! this.ciudades.isEmpty() );
  }

  public static Itinerario deserializar(Node elementoItinerario) {
    Itinerario nuevoItinerario = new Itinerario();   
    // Recorre las ciudades
    for (int i = 0; i < elementoItinerario.getChildNodes().getLength(); i++) {
      Ciudad unaCiudad = Ciudad.deserializar(elementoItinerario.getChildNodes().item(i));
      nuevoItinerario.agregarAlRecorrido(unaCiudad)
    }   
    return nuevoItinerario;
  }
}
TOP

Related Classes of modelo.ladron.Itinerario

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.