package com.zy.asrs.domain.path;
|
|
import lombok.Data;
|
|
import java.io.Serializable;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Data
|
public class StationPathRuleConfig implements Serializable {
|
private static final long serialVersionUID = 1L;
|
|
private HardConstraint hard = new HardConstraint();
|
private WaypointConstraint waypoint = new WaypointConstraint();
|
private SoftPreference soft = new SoftPreference();
|
private FallbackPolicy fallback = new FallbackPolicy();
|
|
@Data
|
public static class HardConstraint implements Serializable {
|
private static final long serialVersionUID = 1L;
|
private List<Integer> mustPassStations = new ArrayList<>();
|
private List<Integer> forbidStations = new ArrayList<>();
|
private List<String> mustPassEdges = new ArrayList<>();
|
private List<String> forbidEdges = new ArrayList<>();
|
}
|
|
@Data
|
public static class WaypointConstraint implements Serializable {
|
private static final long serialVersionUID = 1L;
|
private List<Integer> stations = new ArrayList<>();
|
}
|
|
@Data
|
public static class SoftPreference implements Serializable {
|
private static final long serialVersionUID = 1L;
|
private List<Integer> keyStations = new ArrayList<>();
|
private List<Integer> preferredPath = new ArrayList<>();
|
private Double deviationWeight = 6.0d;
|
private Integer maxOffPathCount = 2;
|
}
|
|
@Data
|
public static class FallbackPolicy implements Serializable {
|
private static final long serialVersionUID = 1L;
|
private Boolean strictWaypoint = false;
|
private Boolean allowSoftDegrade = true;
|
}
|
}
|