CursoPropio.java
package negocio.entities;
import java.util.*;
import persistencia.*;
public class CursoPropio {
public Collection<Matricula> matriculas;
public Centro centro;
public ProfesorUCLM director;
public ProfesorUCLM secretario;
public Collection<Materia> materias;
public EstadoCurso estado;
public TipoCurso tipo;
public CursoPropioDAO cursoPropioDao;
private String id;
private String nombre;
private int eCTS;
private Date fechaInicio;
private Date fechaFin;
private double tasaMatricula;
private int edicion;
public String requisitos;
public CursoPropio() {
cursoPropioDao = new CursoPropioDAO();
}
public CursoPropio(String id, int edicion) {
cursoPropioDao = new CursoPropioDAO();
this.id = id;
this.edicion = edicion;
}
public CursoPropio(String id, String nombre, int eCTS, Date fechaInicio, Date fechaFin, double tasaMatricula, int edicion, EstadoCurso estado, TipoCurso tipo, Centro centro, ProfesorUCLM secretario, ProfesorUCLM director, String requisitos) {
cursoPropioDao = new CursoPropioDAO();
this.id = id;
this.nombre = nombre;
this.eCTS = eCTS;
this.fechaInicio = fechaInicio;
this.fechaFin = fechaFin;
this.tasaMatricula = tasaMatricula;
this.edicion = edicion;
this.estado = estado;
this.tipo = tipo;
this.centro = centro;
this.secretario=secretario;
this.director=director;
this.requisitos=requisitos;
}
public String toString() {
/**String strMaterias = "";
Materia[] arrayMaterias = (Materia[]) materias.toArray();
for (int i=0; i<materias.size();i++) {
strMaterias+=arrayMaterias[i].toString();
}
**/
return "Curso:"
+"\n\tId: "+id
+"\n\tNombre: "+nombre
+"\n\tECTS: "+eCTS
+"\n\tfechaInicio: "+fechaInicio.toString()
+"\n\tfechaFin: "+fechaFin.toString()
+"\n\ttasaMatricula: "+tasaMatricula
+"\n\tEdiciĆ³n: "+edicion
+"\n\tEstado:"+estado.toString()
+"\n\tTipo: "+tipo.toString()
+"\n\tCentro: "+centro.getNombre()
+"\n\tSecretario: "+secretario.getDni()
+"\n\tDirector: "+director.getDni()
//+"\n\tMaterias: "+materias.size()
;
}
@Override
public boolean equals(Object obj){
if(this == obj) return true;
if (obj == null) return this != null;
if (getClass() != obj.getClass()) return false;
CursoPropio cursoObj = (CursoPropio) obj;
if (!(this.getId().equals(cursoObj.getId()))) return false;
if (!(this.getNombre().equals(cursoObj.getNombre()))) return false;
if (this.getECTS()!=cursoObj.getECTS()) return false;
if (!(this.getFechaInicio().equals(cursoObj.getFechaInicio()))) return false;
if (!(this.getFechaFin().equals(cursoObj.getFechaFin()))) return false;
if (this.getTasaMatricula()!=cursoObj.getTasaMatricula()) return false;
if (this.getEdicion()!=cursoObj.getEdicion()) return false;
if (this.estado != cursoObj.estado) return false;
if (this.tipo != cursoObj.tipo) return false;
if (!(this.centro.getNombre().equals(cursoObj.centro.getNombre()))) return false;
if (!(this.secretario.getDni().equals(cursoObj.secretario.getDni()))) return false;
if (!(this.director.getDni().equals(cursoObj.director.getDni()))) return false;
if (this.requisitos == null){
if (cursoObj.requisitos!=null) return false;
} else {
if (!(this.requisitos).equals(cursoObj.requisitos)) return false;
}
return true;
}
@Override
public int hashCode() {
return Objects.hash(id, nombre, eCTS, fechaInicio, fechaFin, tasaMatricula, edicion, estado, tipo, centro, secretario, director, requisitos,
matriculas, materias);
}
public String getId() { return id; }
public void setId(String id) { this.id = id; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public int getECTS() { return eCTS; }
public void setECTS(int eCTS) { this.eCTS = eCTS; }
public Date getFechaInicio() { return fechaInicio; }
public void setFechaInicio(Date fechaInicio) { this.fechaInicio = fechaInicio; }
public Date getFechaFin() { return fechaFin; }
public void setFechaFin(Date fechaFin) { this.fechaFin = fechaFin; }
public double getTasaMatricula() { return tasaMatricula; }
public void setTasaMatricula(double tasaMatricula) { this.tasaMatricula = tasaMatricula; }
public int getEdicion() { return edicion; }
public void setEdicion(int edicion) { this.edicion = edicion; }
}