package com.robestone.hudson.compactcolumns; import java.util.Locale; import hudson.model.Run; public class BuildInfo implements Comparable<BuildInfo> { private Run<?, ?> run; private String color; private String timeAgoString; private long buildTime; private String status; private String urlPart; private boolean isFirst; private boolean isLatestBuild; private boolean multipleBuilds; public BuildInfo(Run<?, ?> run, String color, String timeAgoString, long buildTime, String status, String urlPart, boolean isLatestBuild) { this.run = run; this.color = color; this.timeAgoString = timeAgoString; this.buildTime = buildTime; this.status = status; this.urlPart = urlPart; this.isLatestBuild = isLatestBuild; } public Run<?, ?> getRun() { return run; } public String getColor() { return color; } public String getTimeAgoString() { return timeAgoString; } public String getBuildTimeString(Locale locale) { return AbstractCompactColumn.getBuildTimeString(buildTime, locale); } public String getStatus() { return status; } public String getUrlPart() { return urlPart; } public boolean isFirst() { return isFirst; } public boolean isLatestBuild() { return isLatestBuild; } // ---- public String getLatestBuildString() { if (isLatestBuild) { // TODO message return " (Latest Build)"; } else { return ""; } } public String getFontWeight() { if (isLatestBuild && multipleBuilds) { return "bold"; } else { return "normal"; } } public void setFirst(boolean first) { this.isFirst = first; } public void setMultipleBuilds(boolean multipleBuilds) { this.multipleBuilds = multipleBuilds; } /** * Sort by build number. */ public int compareTo(BuildInfo that) { return new Integer(that.run.number).compareTo(this.run.number); } }