package it.unisa.sesa.repominer.db.entities; import java.util.Date; import net.sf.jeasyorm.annotation.Column; import net.sf.jeasyorm.annotation.Table; @Table(name = "project_metrics") public class ProjectMetric extends Metric { @Column(name = "project") private Integer projectId; @Column(name = "metric") private Integer metricId; private Double value; private Date start; private Date end; public ProjectMetric() { } public ProjectMetric(Integer id, String name, String description, Integer projectId, Integer metricId, Double value, Date start, Date end) { super(id, name, description); this.projectId = projectId; this.metricId = metricId; this.value = value; this.start = start; this.end = end; } public Integer getProjectId() { return projectId; } public void setProjectId(Integer projectId) { this.projectId = projectId; } public Integer getMetricId() { return metricId; } public void setMetricId(Integer metricId) { this.metricId = metricId; } public Double getValue() { return value; } public void setValue(Double value) { this.value = value; } public Date getStart() { return start; } public void setStart(Date start) { this.start = start; } public Date getEnd() { return end; } public void setEnd(Date end) { this.end = end; } @Override public String toString() { return "ProjectMetric [projectId=" + projectId + ", metricId=" + metricId + ", value=" + value + ", start=" + start + ", end=" + end + "]"; } @Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((end == null) ? 0 : end.hashCode()); result = prime * result + ((metricId == null) ? 0 : metricId.hashCode()); result = prime * result + ((projectId == null) ? 0 : projectId.hashCode()); result = prime * result + ((start == null) ? 0 : start.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; ProjectMetric other = (ProjectMetric) obj; if (end == null) { if (other.end != null) return false; } else if (!end.equals(other.end)) return false; if (metricId == null) { if (other.metricId != null) return false; } else if (!metricId.equals(other.metricId)) return false; if (projectId == null) { if (other.projectId != null) return false; } else if (!projectId.equals(other.projectId)) return false; if (start == null) { if (other.start != null) return false; } else if (!start.equals(other.start)) return false; return true; } }