package edu.sjtu.infosec.ismp.manager.RAM.model; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.hibernate.annotations.Cascade; import org.hibernate.annotations.CascadeType; /** * 知识库资产评估要素结果类. * */ @Entity @Table(name = "RAM_KNOW_DYNA_ELEM_RESU") @org.hibernate.annotations.Entity(dynamicInsert=true, dynamicUpdate = true) public class AsseKnowDynaElemResu implements Serializable { /** * 资产评估要素结果记录编号 */ @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="ID") private Integer id; /** * 关联资产 */ @ManyToOne @Cascade(value={CascadeType.SAVE_UPDATE}) @JoinColumn(name="asse_info_asse_id", nullable = false) private AsseInfoAsse asse; /** * 测评项目编号 */ @Column(name="asse_info_proj_id", nullable = false) private Integer asseInfoProjId; /** * 关联项目总体评估值 */ @ManyToOne @Cascade(value={CascadeType.SAVE_UPDATE}) @JoinColumn(name="asse_know_dyna_asse_valu_id") private AsseKnowDynaAsseValue dynaAsseValue; /** * 高风险点数 */ @Column(name="VULN_HIGH_NUM") private Integer vulnHighNum; /** * 中风险点数 */ @Column(name="VULN_MIDU_NUM") private Integer vulnMiduNum; /** * 低风险点数 */ @Column(name="VULN_LOW_NUM") private Integer vulnLowNum; /** * 是否告警 */ @Column(name="IS_WARN", length = 2) private String isWarn; /** * @param vid * 资产评估要素结果记录编号 */ public void setId(Integer vid) { this.id = vid; // } /** * @return asse */ public AsseInfoAsse getAsse() { return asse; } /** * @return id */ public Integer getId() { return id; } /** * @param asseInfo * 关联资产 */ public void setAsse(AsseInfoAsse asseInfo) { this.asse = asseInfo; } /** * @return asseInfoProjId .*/ public Integer getAsseInfoProjId() { return asseInfoProjId; } /** * @param asse_info_proj_vid * 测评项目编号 */ public void setAsseInfoProjId(Integer asseInfoProjVid) { this.asseInfoProjId = asseInfoProjVid; } /** * @return dynaAsseValue */ public AsseKnowDynaAsseValue getDynaAsseValue() { return dynaAsseValue; } /** * @param asseValue * 关联项目总体评估值 */ public void setDynaAsseValue(AsseKnowDynaAsseValue asseValue) { this.dynaAsseValue = asseValue; } /** * @return vulnHighNum */ public Integer getVulnHighNum() { return vulnHighNum; } /** * @param highNum * 高风险点数 */ public void setVulnHighNum(Integer highNum) { this.vulnHighNum = highNum; } /** * @return vulnMiduNum */ public Integer getVulnMiduNum() { return vulnMiduNum; } /** * @param miduNum * 中风险点数 */ public void setVulnMiduNum(Integer miduNum) { this.vulnMiduNum = miduNum; } /** * @return vulnLowNum */ public Integer getVulnLowNum() { return vulnLowNum; } /** * @param lowNum * 低风险点数 */ public void setVulnLowNum(Integer lowNum) { this.vulnLowNum = lowNum; } /** * @return isWarn */ public String getIsWarn() { return isWarn; } /** * @param iswarn * 是否告警 */ public void setIsWarn(String iswarn) { this.isWarn = iswarn; } /** * 比较是否相等 * * @param o * 资产评估要素结果实例 * @return true/false */ public boolean equals(Object o) { if (!(o instanceof AsseKnowDynaElemResu)) { return false; } AsseKnowDynaElemResu another = (AsseKnowDynaElemResu) o; return new EqualsBuilder().append(id, another.id).isEquals(); } /** * 获取资产评估要素哈希值 * * @return 哈希值 */ public int hashCode() { return new HashCodeBuilder().append(id).hashCode(); } /** * 资产评估要素结果实例属性查看 * * @return 属性字符串 */ public String toString() { return new ToStringBuilder(this).append(id).append(asseInfoProjId).append( vulnHighNum).append(vulnMiduNum).append(vulnLowNum).append( isWarn).toString(); } }