package de.twenty11.skysail.server.ext.bookmarks.domain;
import java.util.Map;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.codehaus.jackson.annotate.JsonIgnore;
import de.twenty11.skysail.common.Presentable;
import de.twenty11.skysail.common.PresentableHeader;
import de.twenty11.skysail.common.forms.Field;
import de.twenty11.skysail.common.forms.Form;
@Form(name = "BookmarkForm")
@Entity
public class Bookmark implements Presentable {
@Id
@GeneratedValue
@JsonIgnore
private int pid;// primary key for db
@NotNull(message = "Name is mandatory")
@Size(min = 1, message = "name must not be empty")
@Field
private String name;
private Folder folder;
@Field
private String url;
public Bookmark() {
// TODO Auto-generated constructor stub
}
public Bookmark(String name, String url) {
this.name = name;
this.url = url;
}
public int getPid() {
return pid;
}
public String getName() {
return name;
}
public Folder getFolder() {
return folder;
}
@Override
@JsonIgnore
public PresentableHeader getHeader() {
return new PresentableHeader.Builder(name + " -> " + url).setLink(url, "_blank").build();
}
@Override
@JsonIgnore
public Map<String, Object> getContent() {
return null;
}
}