package org.infosec.ismp.manager.rmi.tm.discover.model.typeSense;
import java.io.Serializable;
import java.util.Date;
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.infosec.ismp.manager.rmi.tm.discover.model.NodeType;
/**
*拓扑发现--型别侦测规则
*
* @author Wu Guojie
* @date 2009-6-6
*
*/
@Entity
@Table(name = "tm_find_device_types_ruler")
@org.hibernate.annotations.Entity(dynamicInsert = true, dynamicUpdate = true)
public class DeviceTypeRuler implements Serializable {
/**
* 规则ID
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
/**
* 设备名称
*/
@Column(name="name")
private String name;
/**
* 对应mib库中的节点标识
*/
@Column(name="oid")
private String oid;
/**
* 在mib中返回的信息中包含的信息字符串
*/
@Column(name="key_chars")
private String keyChars;
/**
* 侦测级别
*/
@Column(name="level")
private Integer level;
/**
* 设备类型
*/
@ManyToOne
@JoinColumn(name="type")
private NodeType nodeType;
/**
* 设备信息描述
*/
@Column(name="description")
private String description;
/**
* 添加时间
*/
@Column(name="add_date")
private Date addDate;
/**
* 修改时间
*/
@Column(name="update_date")
private Date updateDate;
/**
* 备注
*/
@Column(name="remarks")
private String remarks;
/**
* @return the id
*/
public Integer getId() {
return id;
}
/**
* @param id
* the id to set
*/
public void setId(Integer id) {
this.id = id;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name
* the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the oid
*/
public String getOid() {
return oid;
}
/**
* @param oid
* the oid to set
*/
public void setOid(String oid) {
this.oid = oid;
}
/**
* @return the keyChars
*/
public String getKeyChars() {
return keyChars;
}
/**
* @param keyChars
* the keyChars to set
*/
public void setKeyChars(String keyChars) {
this.keyChars = keyChars;
}
/**
* @return the level
*/
public Integer getLevel() {
return level;
}
/**
* @param level
* the level to set
*/
public void setLevel(Integer level) {
this.level = level;
}
/**
* @return the nodeType
*/
public NodeType getNodeType() {
return nodeType;
}
/**
* @param nodeType
* the nodeType to set
*/
public void setNodeType(NodeType nodeType) {
this.nodeType = nodeType;
}
/**
* @return the description
*/
public String getDescription() {
return description;
}
/**
* @param description
* the description to set
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @return the addDate
*/
public Date getAddDate() {
return addDate;
}
/**
* @param addDate
* the addDate to set
*/
public void setAddDate(Date addDate) {
this.addDate = addDate;
}
/**
* @return the updateDate
*/
public Date getUpdateDate() {
return updateDate;
}
/**
* @param updateDate
* the updateDate to set
*/
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
/**
* @return the remarks
*/
public String getRemarks() {
return remarks;
}
/**
* @param remarks
* the remarks to set
*/
public void setRemarks(String remarks) {
this.remarks = remarks;
}
/**
* 比较是否相等
*
* @param o
* 另一条规则
*
* @return true/false
* */
public final boolean equals(Object o) {
if (!(o instanceof DeviceTypeRuler)) {
return false;
}
DeviceTypeRuler another = (DeviceTypeRuler) o;
return new EqualsBuilder().append(id, another.id)
.append(name, another.name)
.append(oid, another.oid)
.append(keyChars, another.keyChars)
.append(level, another.level)
.append(nodeType, another.nodeType)
.append(description, another.description)
.append(addDate, another.addDate)
.append(updateDate, another.updateDate)
.append(remarks,another.remarks)
.isEquals();
}
/**
* 获取哈希值
*
* @return 哈希值
* */
public final int hashCode() {
return new HashCodeBuilder().append(id)
.append(name)
.append(oid)
.append(keyChars)
.append(level)
.append(nodeType)
.append(description)
.append(addDate)
.append(updateDate)
.append(remarks)
.hashCode();
}
/**
* 链接toString
*
* @return 属性字符串
* */
public String toString() {
return new ToStringBuilder(this).append(id)
.append(name)
.append(oid)
.append(keyChars)
.append(level)
.append(nodeType)
.append(description)
.append(addDate)
.append(updateDate)
.append(remarks)
.toString();
}
}