package models;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;
import karma.model.Impact;
import karma.model.Reputable;
import karma.model.ReputationEntry;
import play.db.ebean.Model;
import play.utils.dao.TimestampModel;
@Entity
@Table(name = "TBL_REPUTATION")
@SuppressWarnings("serial")
public class Reputation extends Model implements TimestampModel<Long>,
ReputationEntry {
@Id
private Long key;
@Basic
private Date createdOn;
@Basic
private Date updatedOn;
@Version
private int revision;
@Basic
@Column(nullable = false)
private String reputationValueKey;
@Basic
@Column(nullable = false)
private String ownerKey;
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Long getKey() {
return key;
}
public void setKey(Long key) {
this.key = key;
}
public int getRevision() {
return revision;
}
public void setRevision(int revision) {
this.revision = revision;
}
public Date getUpdatedOn() {
return updatedOn;
}
public void setUpdatedOn(Date updatedOn) {
this.updatedOn = updatedOn;
}
@Override
public void setImpact(Impact impact) {
reputationValueKey = impact.getKey();
}
public String getReputationValueKey() {
return reputationValueKey;
}
public void setReputationValueKey(String reputationValueKey) {
this.reputationValueKey = reputationValueKey;
}
public String getOwnerKey() {
return ownerKey;
}
public void setOwnerKey(String ownerKey) {
this.ownerKey = ownerKey;
}
public void setOwner(Reputable subject) {
this.ownerKey = subject.getKey();
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Reputation [key=").append(key).append(", createdOn=")
.append(createdOn).append(", updatedOn=").append(updatedOn)
.append(", revision=").append(revision)
.append(", reputationValueKey=").append(reputationValueKey)
.append(", ownerKey=").append(ownerKey).append("]");
return builder.toString();
}
}