package scrum.server.pr; import ilarkesto.base.Utl; import ilarkesto.base.time.DateAndTime; import scrum.client.common.LabelSupport; import scrum.client.common.ReferenceSupport; import scrum.server.admin.User; import scrum.server.common.Numbered; public class BlogEntry extends GBlogEntry implements Numbered, ReferenceSupport, LabelSupport, Comparable<BlogEntry> { @Override public String getLabel() { return getTitle(); } @Override public boolean isVisibleFor(User user) { return getProject().isVisibleFor(user); } public String getReferenceAndLabel() { return getReference() + " " + getTitle(); } @Override public String getReference() { return scrum.client.pr.BlogEntry.REFERENCE_PREFIX + getNumber(); } @Override public void updateNumber() { if (getNumber() == 0) setNumber(getProject().generateBlogEntryNumber()); } @Override public void ensureIntegrity() { super.ensureIntegrity(); updateNumber(); if (!isDateAndTimeSet()) setDateAndTime(DateAndTime.now()); } @Override public int compareTo(BlogEntry other) { return Utl.compare(getDateAndTime(), other.getDateAndTime()) * -1; } @Override public String toString() { return getReferenceAndLabel(); } }