Validate.java
package net.hostsharing.hsadminng.errors;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import jakarta.validation.ValidationException;
@AllArgsConstructor
public class Validate {
final String variableNames;
public static Validate validate(final String variableNames) {
return new Validate(variableNames);
}
public final void atMaxOne(final Object var1, final Object var2) {
if (var1 != null && var2 != null) {
throw new ValidationException(
"At maximum one of (" + variableNames + ") must be non-null, " +
"but are (" + var1 + ", " + var2 + ")");
}
}
public final void exactlyOne(final Object var1, final Object var2) {
if ((var1 != null) == (var2 != null)) {
throw new ValidationException(
"Exactly one of (" + variableNames + ") must be non-null, " +
"but are (" + var1 + ", " + var2 + ")");
}
}
public final void areEqual(final Object var1, final Object var2) {
if (ObjectUtils.notEqual(var1, var2)) {
throw new ValidationException(
"Both (" + variableNames + ") must be equal, " +
"but are (" + var1 + ", " + var2 + ")");
}
}
}