package com.zy.core.utils.station.model; import com.zy.core.model.command.StationCommand; public final class RerouteCommandPlan { private final boolean skip; private final String skipReason; private final StationCommand command; private final RerouteDecision decision; private final String dispatchScene; private RerouteCommandPlan(boolean skip, String skipReason, StationCommand command, RerouteDecision decision, String dispatchScene) { this.skip = skip; this.skipReason = skipReason; this.command = command; this.decision = decision; this.dispatchScene = dispatchScene; } public static RerouteCommandPlan skip(String reason) { return new RerouteCommandPlan(true, reason, null, null, null); } public static RerouteCommandPlan dispatch(StationCommand command, RerouteDecision decision, String dispatchScene) { return new RerouteCommandPlan(false, null, command, decision, dispatchScene); } public boolean skip() { return skip; } public String skipReason() { return skipReason; } public StationCommand command() { return command; } public RerouteDecision decision() { return decision; } public String dispatchScene() { return dispatchScene; } }