package com.zy.core.utils.station.model; public final class RerouteDecision { private final boolean skip; private final String skipReason; private final Integer targetStationId; private final OutOrderDispatchDecision dispatchDecision; private RerouteDecision(boolean skip, String skipReason, Integer targetStationId, OutOrderDispatchDecision dispatchDecision) { this.skip = skip; this.skipReason = skipReason; this.targetStationId = targetStationId; this.dispatchDecision = dispatchDecision; } public static RerouteDecision skip(String reason) { return new RerouteDecision(true, reason, null, null); } public static RerouteDecision proceed(Integer targetStationId) { return new RerouteDecision(false, null, targetStationId, null); } public static RerouteDecision proceed(Integer targetStationId, OutOrderDispatchDecision dispatchDecision) { return new RerouteDecision(false, null, targetStationId, dispatchDecision); } public boolean skip() { return skip; } public String skipReason() { return skipReason; } public Integer targetStationId() { return targetStationId; } public OutOrderDispatchDecision dispatchDecision() { return dispatchDecision; } }