package blog.blogEntry;
import java.util.*;
import javax.persistence.*;
import javax.validation.constraints.*;
import blog.common.*;
import blog.user.*;
import static javax.persistence.CascadeType.*;
import static javax.persistence.TemporalType.*;
@Entity
public class BlogEntry extends BaseEntity
{
private static final long serialVersionUID = 1L;
@Column(nullable = false)
@Size(min = 1)
private String title;
@Lob
@Column(length = 2000)
@Size(min = 1)
private String content;
@NotNull
@ManyToOne(optional = false)
private User author;
@NotNull
@Temporal(TIMESTAMP)
private final Date created = new Date();
@OneToMany(mappedBy = "blogEntry", cascade = ALL)
private final List<Comment> comments = new ArrayList<>();
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public String getContent() { return content; }
public void setContent(String content) { this.content = content; }
public String getShortContent()
{
if (content != null && content.length() > 200) {
return content.substring(0, 200) + "...";
}
return content;
}
public User getAuthor() { return author; }
public void setAuthor(User author) { this.author = author; }
public Date getCreated() { return created; }
public List<Comment> getComments() { return comments; }
}