package com.bocloud.nms.model.hillstone;

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

// 虚拟路由
public class VirtualRouteModel extends HillStoneGenericModel {
    private Long vendorId; // 所属平台
    private String name; // 虚拟路由名称
    private List<VirtualRouteSourceNatModel> sourceNats; // 源NAT
    private List<VirtualRouteDestinationNatModel> destinationNats; // 目的NAT
    private List<VirtualRouteRibv4Model> ribv4; // 各类路由集合，详见RouteRibv4.routeType
    private List<VirtualRouteRipModel> rip; // rip路由
    private Integer safeZoneCount; // 安全域个数

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<VirtualRouteSourceNatModel> getSourceNats() {
        return sourceNats;
    }

    public void setSourceNats(List<VirtualRouteSourceNatModel> sourceNats) {
        this.sourceNats = sourceNats;
    }

    public List<VirtualRouteDestinationNatModel> getDestinationNats() {
        return destinationNats;
    }

    public void setDestinationNats(List<VirtualRouteDestinationNatModel> destinationNats) {
        this.destinationNats = destinationNats;
    }

    public List<VirtualRouteRibv4Model> getRibv4() {
        return ribv4;
    }

    public void setRibv4(List<VirtualRouteRibv4Model> ribv4) {
        this.ribv4 = ribv4;
    }

    public List<VirtualRouteRipModel> getRip() {
        return rip;
    }

    public void setRip(List<VirtualRouteRipModel> rip) {
        this.rip = rip;
    }

    public Long getVendorId() {
        return vendorId;
    }

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

    public Integer getSafeZoneCount() {
        return safeZoneCount;
    }

    public void setSafeZoneCount(Integer safeZoneCount) {
        this.safeZoneCount = safeZoneCount;
    }

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

    @Override
    public int hashCode() {
        return Objects.hash(vendorId, name);
    }
}
