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 = "FolderForm")
@Entity
public class Folder implements Presentable {
@Id
@GeneratedValue
private int pid;
@NotNull(message = "Name is mandatory")
@Size(min = 1, message = "name must not be empty")
@Field
private String name;
private Folder parent;
public Folder() {
}
public Folder(String name, Folder parent) {
this.name = name;
this.parent = parent;
}
public int getPid() {
return pid;
}
public String getName() {
return name;
}
public Folder getParent() {
return parent;
}
@Override
@JsonIgnore
public PresentableHeader getHeader() {
return new PresentableHeader.Builder(name).build();
}
@Override
@JsonIgnore
public Map<String, Object> getContent() {
return null;
}
}