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

handlebars.JavaSpring.NotUndefinedValidator.mustache Maven / Gradle / Ivy

There is a newer version: 1.0.7
Show newest version
package {{configPackage}};

import org.openapitools.jackson.nullable.JsonNullable;
{{#jakarta}}
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
{{/jakarta}}
{{^jakarta}}
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
{{/jakarta}}
import java.lang.reflect.Field;

public class NotUndefinedValidator implements ConstraintValidator{

        @Override
        public void initialize(NotUndefined constraintAnnotation) {
        }

        @Override
        public boolean isValid(Object addressInformation, ConstraintValidatorContext context) {
            Class objClass = addressInformation.getClass();
            Field[] fields = objClass.getDeclaredFields();
            for (Field field : fields) {
                if (field.getType().equals(JsonNullable.class)){
                    field.setAccessible(true);
                    try {
                        Object value = field.get(addressInformation);
                        if(value.equals(JsonNullable.undefined())){
                            context.disableDefaultConstraintViolation();
                            context.buildConstraintViolationWithTemplate(field.getName() + " cannot be undefined")
                                    .addConstraintViolation();
                            return false;
                        }
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }
                }
            }
            return true;
        }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy