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

io.dropwizard.jersey.validation.ParamValidatorUnwrapper Maven / Gradle / Ivy

package io.dropwizard.jersey.validation;


import com.fasterxml.classmate.TypeResolver;
import io.dropwizard.jersey.params.AbstractParam;
import org.hibernate.validator.spi.valuehandling.ValidatedValueUnwrapper;

import java.lang.reflect.Type;

/**
 * Let's the validator know that when validating a class that is an {@link AbstractParam} to
 * validate the underlying value.
 */
public class ParamValidatorUnwrapper extends ValidatedValueUnwrapper> {
    private final TypeResolver resolver = new TypeResolver();

    @Override
    public Object handleValidatedValue(final AbstractParam abstractParam) {
        return abstractParam == null ? null : abstractParam.get();
    }

    @Override
    public Type getValidatedValueType(final Type type) {
        return resolver.resolve(type)
                .typeParametersFor(AbstractParam.class).get(0)
                .getErasedType();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy