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

io.vertx.ext.web.validation.impl.parameter.SingleValueParameterParser Maven / Gradle / Ivy

package io.vertx.ext.web.validation.impl.parameter;

import io.vertx.codegen.annotations.Nullable;
import io.vertx.ext.web.validation.MalformedValueException;
import io.vertx.ext.web.validation.impl.parser.ValueParser;

import java.util.List;
import java.util.Map;

import static io.vertx.ext.web.validation.impl.parameter.ExplodedObjectValueParameterParser.isExplodedObjectValueParameterParserWithAdditionalProperties;

public class SingleValueParameterParser implements ParameterParser  {

  String parameterName;
  ValueParser valueParser;

  public SingleValueParameterParser(String parameterName, ValueParser valueParser) {
    this.parameterName = parameterName;
    this.valueParser = valueParser;
  }

  @Override
  public @Nullable Object parseParameter(Map> parameterValue) throws MalformedValueException {
    List extractedList = parameterValue.remove(parameterName);
    if (extractedList == null) return null;
    String extracted = extractedList.get(0);
    return extracted != null ? valueParser.parse(extracted) : null;
  }

  @Override
  public int compareTo(ParameterParser o) {
    if (isExplodedObjectValueParameterParserWithAdditionalProperties(o)) return -1;
    return 0;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy