package com.airlock.iam.base.infrastructure.validation;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import java.util.Set;

public class AllowOnlyValidator implements ConstraintValidator<AllowOnly, String> {
   private Set<String> allowedValues;

   public void initialize(AllowOnly allowOnly) {
      this.allowedValues = Set.of(allowOnly.value());
   }

   public boolean isValid(String value, ConstraintValidatorContext context) {
      return value == null ? true : this.allowedValues.contains(value);
   }
}
