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;
}
}