package cms.model.model;
import com.google.appengine.api.datastore.Key;
import org.slim3.datastore.Attribute;
import org.slim3.datastore.InverseModelListRef;
import org.slim3.datastore.Model;
import org.slim3.datastore.ModelRef;
@Model(schemaVersion = 1)
public class PageEntity implements IEntity {
private static final long serialVersionUID = 1L;
@Attribute(primaryKey = true)
private Key key;
@Attribute(version = true)
private Long version;
@Attribute(persistent = false)
private InverseModelListRef<PageTagEntity, PageEntity> pageTagListRef =
new InverseModelListRef<PageTagEntity, PageEntity>
(PageTagEntity.class, "pageRef", this);
private ModelRef<TemplateEntity> templateRef =
new ModelRef<TemplateEntity>(TemplateEntity.class);
private String url;
private String title;
private String content;
private Boolean visible;
// private Integer position;
public Key getKey() {
return key;
}
public void setKey(Key key) {
this.key = key;
}
public Long getVersion() {
return version;
}
public void setVersion(Long version) {
this.version = version;
}
public InverseModelListRef<PageTagEntity, PageEntity> getPageTagListRef() {
return pageTagListRef;
}
public ModelRef<TemplateEntity> getTemplateRef() {
return templateRef;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
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 Boolean getVisible() {
return visible;
}
public void setVisible(Boolean visible) {
this.visible = visible;
}
// public Integer getPosition() {
// return position;
// }
//
// public void setPosition(Integer position) {
// this.position = position;
// }
@Override
public String toString() {
StringBuilder ret = new StringBuilder("PageEntity{");
ret.append("Key:").append(key).append(",");
ret.append("Version:").append(version).append(",");
ret.append("Url:").append(url).append(",");
ret.append("Title:").append(title).append(",");
ret.append("Content:").append(content).append(",");
ret.append("Visible:").append(visible).append(",");
// ret.append("Position:").append(position).append(",");
ret.append("Tags:{");
for (PageTagEntity pageTagEntity : pageTagListRef.getModelList()) {
ret.append(pageTagEntity.getTagRef().getModel().getName()).append(",");
}
ret.append("}");
ret.append("Template:");
if (templateRef.getModel() != null) {
ret.append(templateRef.getModel().getName());
}
ret.append("}");
return ret.toString();
}
}