package hudson.plugins.global_build_stats.model;
import java.io.Serializable;
import java.util.Calendar;
public class JobBuildResult implements Serializable {
private static final long serialVersionUID = -4697202185011561179L;
private BuildResult result;
private String jobName;
private int buildNumber;
private Calendar buildDate;
public JobBuildResult(BuildResult _result, String _jobName, int _buildNumber, Calendar _buildDate){
this.result = _result;
this.jobName = _jobName;
this.buildNumber = _buildNumber;
this.buildDate = (Calendar)_buildDate.clone();
}
@Override
public String toString() {
return new StringBuilder("jobName=").append(jobName).append(", buildNumber=").append(buildNumber)
.append(", result=").append(result).append(", buildDate=").append(buildDate).toString();
}
public BuildResult getResult() {
return result;
}
public String getJobName() {
return jobName;
}
public Calendar getBuildDate() {
return buildDate;
}
public int getBuildNumber(){
return buildNumber;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof JobBuildResult){
JobBuildResult r = (JobBuildResult)obj;
return r.buildNumber == this.buildNumber && r.jobName.equals(this.jobName)
// In general, "not build" results implies a job result with same jobName & buildNumber but error | failure status
&& r.result.equals(this.result);
}
return false;
}
}