package br.com.caelum.calopsita.plugins.prioritization;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import br.com.caelum.calopsita.model.Card;
import br.com.caelum.calopsita.model.Gadget;
@Entity
public class PrioritizableCard implements Gadget {
@Id
@GeneratedValue(generator="custom")
@GenericGenerator(name="custom", strategy="foreign",
parameters=@Parameter(name="property", value="card"))
private Long id;
@OneToOne
@PrimaryKeyJoinColumn
private Card card;
private int priority;
public PrioritizableCard() {
}
public static PrioritizableCard of(Card card) {
PrioritizableCard pcard = new PrioritizableCard();
pcard.setCard(card);
return pcard;
}
public Card getCard() {
return card;
}
public void setCard(Card card) {
this.card = card;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public String getHtml() {
return "<span class=\"priority\" title=\"Priority\">" + getHtmlPriority() + "</span>";
}
private String getHtmlPriority() {
if (priority == 0) {
return "∞";
} else {
return "" + priority;
}
}
}