Class RouteSegmentsValidator
java.lang.Object
com.endurancetrio.business.tracker.validator.RouteSegmentsValidator
- All Implemented Interfaces:
jakarta.validation.ConstraintValidator<RouteSegmentsValid,RouteDTO>
public class RouteSegmentsValidator
extends Object
implements jakarta.validation.ConstraintValidator<RouteSegmentsValid,RouteDTO>
Validator for the
RouteSegmentsValid constraint on RouteDTO.
This validator enforces two primary business rules for route integrity:
- Continuity: The
endDeviceof segment N must match thestartDeviceof segment N+1. - Sequence: Segment orders must be strictly sequential (1, 2, 3...) without gaps.
-
Constructor Details
-
RouteSegmentsValidator
public RouteSegmentsValidator()
-
-
Method Details
-
isValid
Validator for theRouteSegmentsValidconstraint.Performs a comprehensive audit of the
RouteDTOto ensure logical integrity. This validator does not "fail-fast"; it evaluates the entire segment list to report all instances of the following violations:- Order Initiation: The first segment (lowest order) must be 1.
-
Device Continuity: The
endDeviceof a segment must match thestartDeviceof the next segment in the sequence. - Numerical Sequence: Segment orders must be strictly incremental (e.g., 1, 2, 3) without gaps.
- Specified by:
isValidin interfacejakarta.validation.ConstraintValidator<RouteSegmentsValid,RouteDTO>
-