All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.avaje.validation.adapter.MapValidationAdapter Maven / Gradle / Ivy

package io.avaje.validation.adapter;

import java.util.Map;

final class MapValidationAdapter extends ContainerAdapter {

  private final boolean keys;

  MapValidationAdapter(ValidationAdapter adapters, boolean keys) {
    super(adapters);
    this.keys = keys;
  }

  @Override
  @SuppressWarnings("unchecked")
  public boolean validate(T value, ValidationRequest req, String propertyName) {
    final var map = (Map) value;

    if (initalAdapter.validate(value, req, propertyName)) {
      if (keys) {
        validateAll(map.keySet(), req, propertyName);
      } else {
        validateAll(map.values(), req, propertyName);
      }
    }

    return true;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy