/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.util.ArrayList;

/**
 *Clase padre de los objetos rastreables
 */
public abstract class Rastreable {
    /**
     * Listado de los objetos rastreables origenes de este objeto rastreable
     */
    private ArrayList <String> mOrigen;
    /**
     * Listado de los objetos rastreabes destino de este objeto rastreable
     */
    private ArrayList <String> mDestino;
    /**
     * 
     * @return Nombre
     */
    abstract public String getNombre();
    /**
     * Constructor que iniciliza los listados Origen y destino.
     */
    public Rastreable() {
        mOrigen = new ArrayList();
        mDestino = new ArrayList();
    }

    /**
     * @return the mOrigen
     */
    public ArrayList <String> getmOrigen() {
        return mOrigen;
    }

    /**
     * @param mOrigen the mOrigen to set
     */
    public void setmOrigen(ArrayList <String> mOrigen) {
        this.mOrigen = mOrigen;
    }

    /**
     * @return the mDestino
     */
    public ArrayList <String> getmDestino() {
        return mDestino;
    }

    /**
     * @param mDestino the mDestino to set
     */
    public void setmDestino(ArrayList <String> mDestino) {
        this.mDestino = mDestino;
    }
    /**
     * Busca el origen del elemento cuyo identificador se pasa por parámetro
     * @param busqueda
     * @return boolean
     */
    public boolean buscarOrigen(String busqueda){
               boolean encontrado=false;
               int i =0;
               while(i<this.getmOrigen().size() && !encontrado){
                   if(this.getmOrigen().get(i).toString().equals(busqueda)) {
                             encontrado=true;
                   }
                   else {i++; }

                                                                    }
               return encontrado;
                                                            }
    
}
