package com.bocloud.nms.model.hillstone;

import java.util.List;
import java.util.Objects;

// 应用静态特征规则
public class ApplicationStaticFeatureRuleModel extends HillStoneGenericModel {
    private String props; // 原生id
    private Long vendorId; // 所属平台
    private Integer contAi; // 继续动态识别
    private Integer enable; // 应用特征规则
    private String srcZones; // 源安全域
    private List<RelationModel> srcAddrs; // 源地址
    private List<RelationModel> dstAddrs; // 目的地址
    private ApplicationStaticFeatureRuleRowModel row; // 协议

    public Long getVendorId() {
        return vendorId;
    }

    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }

    public String getProps() {
        return props;
    }

    public void setProps(String props) {
        this.props = props;
    }

    public Integer getContAi() {
        return contAi;
    }

    public void setContAi(Integer contAi) {
        this.contAi = contAi;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public String getSrcZones() {
        return srcZones;
    }

    public void setSrcZones(String srcZones) {
        this.srcZones = srcZones;
    }

    public List<RelationModel> getSrcAddrs() {
        return srcAddrs;
    }

    public void setSrcAddrs(List<RelationModel> srcAddrs) {
        this.srcAddrs = srcAddrs;
    }

    public List<RelationModel> getDstAddrs() {
        return dstAddrs;
    }

    public void setDstAddrs(List<RelationModel> dstAddrs) {
        this.dstAddrs = dstAddrs;
    }

    public ApplicationStaticFeatureRuleRowModel getRow() {
        return row;
    }

    public void setRow(ApplicationStaticFeatureRuleRowModel row) {
        this.row = row;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        ApplicationStaticFeatureRuleModel that = (ApplicationStaticFeatureRuleModel) o;
        return Objects.equals(props, that.props);
    }

    @Override
    public int hashCode() {
        return Objects.hash(props);
    }
}
