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

import jakarta.validation.valueextraction.ValueExtractor;
import jakarta.validation.valueextraction.ValueExtractor.ValueReceiver;
import jakarta.ws.rs.core.MultivaluedMap;
import java.util.List;
import java.util.Map.Entry;

public final class MultivaluedMapValueExtractor implements ValueExtractor<MultivaluedMap<?, ?>> {
   public void extractValues(MultivaluedMap<?, ?> originalValue, ValueReceiver receiver) {
      for (Entry<?, ?> entry : originalValue.entrySet()) {
         for (Object value : (List)entry.getValue()) {
            receiver.keyedValue("<map value>", entry.getKey(), value);
         }
      }
   }
}
