package com.xfestudio.xfeservermanager.api.command;
/** Inclusive selector distance range. A null endpoint means unbounded. */
public record DistanceRange(Double minimum, Double maximum) {
public DistanceRange {
if (minimum != null && (!Double.isFinite(minimum) || minimum < 0.0)) {
throw new IllegalArgumentException("minimum must be finite and non-negative");
}
if (maximum != null && (!Double.isFinite(maximum) || maximum < 0.0)) {
throw new IllegalArgumentException("maximum must be finite and non-negative");
}
if (minimum != null && maximum != null && minimum > maximum) {
throw new IllegalArgumentException("minimum must not exceed maximum");
}
}
public boolean isBounded() {
return maximum != null;
}
}
package com.xfestudio.xfeservermanager.api.command;
/** Inclusive selector distance range. A null endpoint means unbounded. */
public record DistanceRange(Double minimum, Double maximum) {
public DistanceRange {
if (minimum != null && (!Double.isFinite(minimum) || minimum < 0.0)) {
throw new IllegalArgumentException("minimum must be finite and non-negative");
}
if (maximum != null && (!Double.isFinite(maximum) || maximum < 0.0)) {
throw new IllegalArgumentException("maximum must be finite and non-negative");
}
if (minimum != null && maximum != null && minimum > maximum) {
throw new IllegalArgumentException("minimum must not exceed maximum");
}
}
public boolean isBounded() {
return maximum != null;
}
}