/**
 * "Visual Paradigm: DO NOT MODIFY THIS FILE!"
 * <p>
 * This is an automatic generated file. It will be regenerated every time
 * you generate persistence class.
 * <p>
 * Modifying its content may cause the program not work, or your work may lost.
 * <p>
 * Licensee: Universidad de La Frontera
 * License Type: Academic
 */

/**
 * Licensee: Universidad de La Frontera
 * License Type: Academic
 */
package orm;

public class Estudiante {
    private int id_pk;
    private orm.Curso curso_id_fk;
    private orm.Apoderado apoderado_id_fk;
    private String nombre;
    private String rut;
    private java.util.Set ORM_anotacion = new java.util.HashSet();
    private java.util.Set ORM_nota = new java.util.HashSet();
    private java.util.Set ORM_asistencia = new java.util.HashSet();
    org.orm.util.ORMAdapter _ormAdapter = new org.orm.util.AbstractORMAdapter() {
        public java.util.Set getSet(int key) {
            return this_getSet(key);
        }

        public void setOwner(Object owner, int key) {
            this_setOwner(owner, key);
        }

    };
    public final orm.AnotacionSetCollection anotacion = new orm.AnotacionSetCollection(this, _ormAdapter, orm.ORMConstants.KEY_ESTUDIANTE_ANOTACION, orm.ORMConstants.KEY_ANOTACION_ESTUDIANTE_ID_FK, orm.ORMConstants.KEY_MUL_ONE_TO_MANY);
    public final orm.NotaSetCollection nota = new orm.NotaSetCollection(this, _ormAdapter, orm.ORMConstants.KEY_ESTUDIANTE_NOTA, orm.ORMConstants.KEY_NOTA_ESTUDIANTE_ID_FK, orm.ORMConstants.KEY_MUL_ONE_TO_MANY);
    public final orm.AsistenciaSetCollection asistencia = new orm.AsistenciaSetCollection(this, _ormAdapter, orm.ORMConstants.KEY_ESTUDIANTE_ASISTENCIA, orm.ORMConstants.KEY_ASISTENCIA_ESTUDIANTE_ID_FK, orm.ORMConstants.KEY_MUL_ONE_TO_MANY);

    public Estudiante() {
    }

    private java.util.Set this_getSet(int key) {
        if (key == orm.ORMConstants.KEY_ESTUDIANTE_ANOTACION) {
            return ORM_anotacion;
        } else if (key == orm.ORMConstants.KEY_ESTUDIANTE_NOTA) {
            return ORM_nota;
        } else if (key == orm.ORMConstants.KEY_ESTUDIANTE_ASISTENCIA) {
            return ORM_asistencia;
        }

        return null;
    }

    private void this_setOwner(Object owner, int key) {
        if (key == orm.ORMConstants.KEY_ESTUDIANTE_CURSO_ID_FK) {
            this.curso_id_fk = (orm.Curso) owner;
        } else if (key == orm.ORMConstants.KEY_ESTUDIANTE_APODERADO_ID_FK) {
            this.apoderado_id_fk = (orm.Apoderado) owner;
        }
    }

    public int getId_pk() {
        return id_pk;
    }

    private void setId_pk(int value) {
        this.id_pk = value;
    }

    public int getORMID() {
        return getId_pk();
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String value) {
        this.nombre = value;
    }

    public String getRut() {
        return rut;
    }

    public void setRut(String value) {
        this.rut = value;
    }

    public orm.Curso getCurso_id_fk() {
        return curso_id_fk;
    }

    public void setCurso_id_fk(orm.Curso value) {
        if (curso_id_fk != null) {
            curso_id_fk.estudiante.remove(this);
        }
        if (value != null) {
            value.estudiante.add(this);
        }
    }

    private orm.Curso getORM_Curso_id_fk() {
        return curso_id_fk;
    }

    /**
     * This method is for internal use only.
     */
    public void setORM_Curso_id_fk(orm.Curso value) {
        this.curso_id_fk = value;
    }

    public orm.Apoderado getApoderado_id_fk() {
        return apoderado_id_fk;
    }

    public void setApoderado_id_fk(orm.Apoderado value) {
        if (apoderado_id_fk != null) {
            apoderado_id_fk.estudiante.remove(this);
        }
        if (value != null) {
            value.estudiante.add(this);
        }
    }

    private orm.Apoderado getORM_Apoderado_id_fk() {
        return apoderado_id_fk;
    }

    /**
     * This method is for internal use only.
     */
    public void setORM_Apoderado_id_fk(orm.Apoderado value) {
        this.apoderado_id_fk = value;
    }

    private java.util.Set getORM_Anotacion() {
        return ORM_anotacion;
    }

    private void setORM_Anotacion(java.util.Set value) {
        this.ORM_anotacion = value;
    }

    private java.util.Set getORM_Nota() {
        return ORM_nota;
    }

    private void setORM_Nota(java.util.Set value) {
        this.ORM_nota = value;
    }

    private java.util.Set getORM_Asistencia() {
        return ORM_asistencia;
    }

    private void setORM_Asistencia(java.util.Set value) {
        this.ORM_asistencia = value;
    }

    public String toString() {
        return String.valueOf(getId_pk());
    }

}
