package modelo;

import java.io.Serializable;
import java.util.ArrayList; 
import java.util.List;
import java.util.Observable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Persistence;
import javax.persistence.Table;
import javax.persistence.Transient;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.7FDF4208-649D-738E-9BFF-7D4A34B4DC60]
// </editor-fold>
@Entity
@Table(name="Paso")
public class PasoCU implements Serializable{

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="Pasoid")
    //@Column(name="Condicion")

    private Long id;

    private boolean esCondicional;

    private String Condicion;

    private String tipoAccion;

    private boolean accionActor;

    private boolean Inclusion_Extension;

    private String Texto;

    private int Rendimiento;

    private String Unidad;

    private String nombreActor;

    private String nombreCU;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.22DAE390-43D9-7BE4-8BE8-9B0507E75551]
    // </editor-fold>
   
    @OneToMany
    private List<ExcepcionCU> mExcepcionCU= new ArrayList();

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F35BC728-068F-B7C4-C95E-03AE93C5D7A5]
    // </editor-fold> 
    public PasoCU () {
        
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.EA66F6C4-EE9F-6116-8BCF-CCC935A8AB9E]
    // </editor-fold> 
//    public ArrayList<ExcepcionCU> getExcepcionCU () {
//        return mExcepcionCU;
//    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.C2E9169B-2292-E65A-89D2-1B2A6E02BBC9]
    // </editor-fold> 
//    public void setExcepcionCU (ArrayList<ExcepcionCU> val) {
//        this.mExcepcionCU = val;
//    }

    public boolean getEsCondicional(){

        return esCondicional;
    }

    public void setEsCondicional(boolean val){

        this.esCondicional = val;
    }

    public String getCondicion(){

        return Condicion;
    }

    public void setCondicion(String val){

        this.Condicion = val;
    }

    public String gettipoAccion(){

        return tipoAccion;
    }

    public void settipoAccion(String val){

        this.tipoAccion = val;
    }
    /*public boolean getAccionSistema(){

        return accionSistema;
    }

    public void setAccionSistema(boolean val){

        this.accionSistema = val;
    }*/

    public boolean getAccionActor(){

        return accionActor;
    }

    public void setAccionActor(boolean val){

        this.accionActor = val;
    }

    public boolean getInclusion_Extension(){

        return Inclusion_Extension;
    }

    public void setInclusion_extension(boolean val){

        this.Inclusion_Extension = val;
    }

    public String getTexto(){

        return Texto;
    }

    public void setTexto(String val){

        this.Texto = val;
    }

    public int getRendimiento(){

        return Rendimiento;
    }

    public void setRendimiento(int val){

        this.Rendimiento = val;
    }

    public String getUnidad(){

        return Unidad;
    }

    public void setUnidad(String val){

        this.Unidad = val;
    }

    public String getNombreActor(){

        return nombreActor;
    }

    public void setNombreActor(String val){

        this.nombreActor = val;
    }

    public String getNombreCU(){

        return nombreCU;
    }

    public void setNombreCU(String val){

        this.nombreCU = val;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final PasoCU other = (PasoCU) obj;
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 97 * hash + (this.id != null ? this.id.hashCode() : 0);
        return hash;
    }

    @Override
    public String toString() {
        return super.toString();
    }



//    public void grabar(Object object) {
//        EntityManagerFactory emf = Persistence.createEntityManagerFactory("Persistencia");
//        EntityManager em = emf.createEntityManager();
//        em.getTransaction().begin();
//        try {
//            em.persist(object);
//            em.getTransaction().commit();
//        } catch (Exception e) {
//            e.printStackTrace();
//            em.getTransaction().rollback();
//        } finally {
//            em.close();
//        }
//    }

//    public ExcepcionCU anadirExcepcion(String Condicion, String Terminacion, String tipoAccion, String Texto, int Rendimiento,String Unidad,CasodeUso auxcu){
//
//       ExcepcionCU auxexcepcion=new ExcepcionCU();
//
//       auxexcepcion.setCondicion(Condicion);
//       auxexcepcion.setTerminacion(Terminacion);
//       auxexcepcion.settipoAccion(tipoAccion);
//       //auxexcepcion.setAccionActor(accionActor);
//       //auxexcepcion.setInclusion_Extension(accionActor);
//       auxexcepcion.setTexto(Texto);
//       auxexcepcion.setRendimiento(Rendimiento);
//       auxexcepcion.setUnidad(Unidad);
//       //auxexcepcion.setNombreActor(nombreActor);
//       //auxexcepcion.setNombreCU(nombreCU);
//       auxexcepcion.setCondicion(auxpaso.getCondicion());
//       auxexcepcion.setNombreCU(nombreCU);
//
//       this.getExcepcionCU().add(auxexcepcion);
//       setChanged();
//       notifyObservers();
//       return auxexcepcion;
//    }


}

