package com.mfh.comn.priv.bean;
import java.util.Date;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import com.mfh.comn.annotations.Column;
import com.mfh.comn.bean.IStringId;
/**
* 角色定义类
*
* @author zhangyz created on 2012-7-1
* @since Framework 1.0
*/
@SuppressWarnings("serial")
public class TGroup implements IStringId {
private String id;
/** nullable persistent field */
private Date createdate;
/** nullable persistent field */
private String createid;
/** nullable persistent field */
private Date updateDate;
/** nullable persistent field */
private String updatorId;
/** nullable persistent field */
private String gdesc;
/** persistent field */
private String gname;
/** persistent field */
private int gstate = 1;
/** 为null代表这个角色对所有租户都适用 */
private String tenantName;
/*private Set modules;
private Set users;
private Set privs;*/
private String pgroupid;
/** full constructor */
public TGroup(Date createdate, String createid, Date editdate, String editid, String gdesc, String gname,
int gstate, String pgroupid) {
this.createdate = createdate;
this.createid = createid;
this.updateDate = editdate;
this.updatorId = editid;
this.gdesc = gdesc;
this.gname = gname;
this.gstate = gstate;
this.pgroupid = pgroupid;
}
/** default constructor */
public TGroup() {
this.gstate = 1;
}
/** common constructor */
public TGroup(String gname) {
this.gstate = 1;
this.gname = gname;
}
/** minimal constructor */
public TGroup(String gname, int gstate) {
this.gname = gname;
this.gstate = gstate;
}
public String getTenantName() {
return tenantName;
}
public void setTenantName(String tenantName) {
this.tenantName = tenantName;
}
@Override
public String getId() {
return id;
}
public void setId(String groupId) {
this.id = groupId;
}
public Date getCreatedate() {
return this.createdate;
}
public void setCreatedate(Date createdate) {
this.createdate = createdate;
}
public String getCreateid() {
return this.createid;
}
public void setCreateid(String createid) {
this.createid = createid;
}
@Column(name="EDITDATE")
public Date getUpdateDate() {
return this.updateDate;
}
@Column(name="EDITDATE")
public void setUpdateDate(Date editdate) {
this.updateDate = editdate;
}
@Column(name="EDITID")
public String getUpdatorId() {
return this.updatorId;
}
@Column(name="EDITID")
public void setUpdatorId(String editid) {
this.updatorId = editid;
}
public String getGdesc() {
return this.gdesc;
}
public void setGdesc(String gdesc) {
this.gdesc = gdesc;
}
public String getGname() {
return this.gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public int getGstate() {
return this.gstate;
}
public void setGstate(int gstate) {
this.gstate = gstate;
}
public String getPgroupid() {
return pgroupid;
}
public void setPgroupid(String pgroupid) {
this.pgroupid = pgroupid;
}
public String toString() {
return new ToStringBuilder(this).append("id", getId()).toString();
}
public boolean equals(Object obj) {
if (obj == this)
return true;
if (!(obj instanceof TGroup))
return false;
TGroup group = (TGroup) obj;
return new EqualsBuilder().append(group.getId(), this.getId()).isEquals();
// 考虑到ID是存入数据库后生成的,新建的对象不一定会存在,而gname是设定为唯一的,所以用gname而不用id
// return(group.getGname().equals(this.gname));
}
public int hashCode() {
return new HashCodeBuilder().append(getId()).toHashCode();
}
}