package com.norteksoft.mms.authority.entity; import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.LazyCollection; import org.hibernate.annotations.LazyCollectionOption; import com.norteksoft.mms.authority.enumeration.PermissionAuthorize; import com.norteksoft.product.orm.IdEntity; import com.norteksoft.product.web.struts2.Struts2Utils; /** * 授权 * @author Administrator * */ @Entity @Table(name="MMS_PERMISSION") public class Permission extends IdEntity implements Serializable{ private static final long serialVersionUID = 1L; private Integer priority; private Integer authority; @ManyToOne @JoinColumn(name="FK_DATA_RULE_ID") private DataRule dataRule; @OneToMany(mappedBy="permission",cascade=CascadeType.ALL) @LazyCollection(LazyCollectionOption.TRUE) @OrderBy("displayOrder asc") private List<PermissionItem> items; @Transient private String authorityName;//操作权限名称 public Integer getPriority() { return priority; } public void setPriority(Integer priority) { this.priority = priority; } public Integer getAuthority() { return authority; } public void setAuthority(Integer authority) { this.authority = authority; } public DataRule getDataRule() { return dataRule; } public void setDataRule(DataRule dataRule) { this.dataRule = dataRule; } public List<PermissionItem> getItems() { return items; } public void setItems(List<PermissionItem> items) { this.items = items; } public String getAuthorityName() { authorityName=""; for(PermissionAuthorize auth : PermissionAuthorize.values()){ if((this.authority & auth.getCode()) != 0){//有该权限 authorityName=authorityName+Struts2Utils.getText(auth.getI18nKey())+","; } } if(authorityName.contains(",")){ authorityName=authorityName.substring(0,authorityName.lastIndexOf(",")); } return authorityName; } }