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

package paqueteBL;

/**
 *
 * @author sysmq
 */
public class VM implements Cloneable{
    private int id;
    private int idDataRep;
    private String dataRep;
    private String pathDataRep;
    private String path;
    private String nombre;
    private int idHost;
    private String ip;
    private int estado;
    private String responsable;
  
    static public final int ESTADO_STOPING=0;
    static public final int ESTADO_STOP=1;
    static public final int ESTADO_STARTING=2;
    static public final int ESTADO_START=3;
    static public final int ESTADO_MIGRANDO=4;
    static public final int ESTADO_CLONANDO=5;

    public VM()
    {
        dataRep="";
        pathDataRep="";
        path="";
        ip="";
        responsable="";
        estado=ESTADO_STOP;
    }

    public VM(String dataRep,String pathDataRep,String path,String nombre)
    {
        this.dataRep=dataRep;
        this.nombre=nombre;
        this.pathDataRep=pathDataRep;
        this.path=path;
    }

    public Object clone(){
        Object obj=null;
        try{
            obj=super.clone();
        }catch(CloneNotSupportedException ex){
            System.out.println(" no se puede duplicar");
        }
        return obj;
    }


    public int getIdDataRep() {
        return idDataRep;
    }

    public void setIdDataRep(int idDataRep) {
        this.idDataRep = idDataRep;
    }

    /**
     * @return the idHost
     */
    public int getIdHost() {
        return idHost;
    }

    /**
     * @param idHost the idHost to set
     */
    public void setIdHost(int idHost) {
        this.idHost = idHost;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDataRep() {
        return dataRep;
    }

    public void setDataRep(String dataRep) {
        this.dataRep = dataRep;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getPathDataRep() {
        return pathDataRep;
    }

    public void setPathDataRep(String pathDataRep) {
        this.pathDataRep = pathDataRep;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }


    public String getNombreCompleto()
    {
        return "["+dataRep+"/"+pathDataRep+"]"+path+"/"+nombre+".vmx";
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public int getEstado() {
        return estado;
    }

    public String getStrEstado()
    {
        return getStrEstado(estado);
    }

    static public String getStrEstado(int est)
    {
        final String[] textoEstado={"Parando...","Parada","Arrancando...","Corriendo","Migrando...","Clonado..."};

        if (est>=0 && est<6) return textoEstado[est]; else return "";
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public String getResponsable() {
        return responsable;
    }

    public void setResponsable(String responsable) {
        this.responsable = responsable;
    }

}
