/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.cms.entity; import java.util.HashMap; import java.util.Map; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import com.jinhe.tss.cms.CMSConstants; import com.jinhe.tss.core.persistence.IEntity; import com.jinhe.tss.core.util.BeanUtil; import com.jinhe.tss.core.web.dispaly.tree.ILevelTreeNode; import com.jinhe.tss.core.web.dispaly.tree.TreeAttributesMap; import com.jinhe.tss.core.web.dispaly.xform.IXForm; /** * 文章类型ArticleType实体对象 */ @Entity @Table(name = "cms_articletype", uniqueConstraints = { @UniqueConstraint(name="MULTI_NAME_TYPENAME", columnNames = { "PARENTID", "name" }) }) @SequenceGenerator(name = "articleType_sequence", sequenceName = "articleType_sequence", initialValue = 1, allocationSize = 1) public class ArticleType implements IEntity, ILevelTreeNode, IXForm { @Id @GeneratedValue(strategy = GenerationType.AUTO, generator = "articleType_sequence") private Long id; // 文章种类编号 PK @Column(nullable = false) private String name; // 名称 private Long parentId; // 父文章种类编号 @Column(nullable = false) private Integer isGroup; // 是否文章类型组 1:是 0:不是 private String publishArticleClassName; // 发布文章实现类 @Column(length = 4000) private String articleTemplate; // 文章展示修饰代码 public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } public Integer getIsGroup() { return isGroup; } public void setIsGroup(Integer isGroup) { this.isGroup = isGroup; } public String getPublishArticleClassName() { return publishArticleClassName; } public void setPublishArticleClassName(String publishArticleClassName) { this.publishArticleClassName = publishArticleClassName; } public String getArticleTemplate() { return articleTemplate; } public void setArticleTemplate(String articleTemplate) { this.articleTemplate = articleTemplate; } public TreeAttributesMap getAttributes() { TreeAttributesMap map = new TreeAttributesMap(id, name); map.put("state", isGroup); String iconPath; if (CMSConstants.TRUE.equals(isGroup)) { iconPath = "../platform/images/icon/article_type_group.gif"; } else{ iconPath = "../platform/images/icon/article_type.gif"; } map.put("icon", iconPath); return map; } public Map<String, Object> getAttributesForXForm() { Map<String, Object> map = new HashMap<String, Object>(); BeanUtil.addBeanProperties2Map(this, map); return map; } public boolean isTypeGroup(){ return CMSConstants.TRUE.equals(this.isGroup); } public String getEntityCode(){ return "article" + this.id; } }