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

com.github.vickumar1981.svalidate.util.ValidationSyntax Maven / Gradle / Ivy

The newest version!
package com.github.vickumar1981.svalidate.util;

import com.github.vickumar1981.svalidate.util.example.model.Validatable;

import java.util.Optional;
import java.util.function.Function;

public class ValidationSyntax {
    public static  Function> orElse(T ...errors) {
        return (cond) -> {
            if (!cond) {
                return Validation.fail(errors);
            } else {
                return Validation.success();
            }
        };
    }

    public static  Function, Validation> errorIfEmpty(A ...errors) {
        return (validatable) -> validatable.map(v -> Validation.success()).orElse(Validation.fail(errors));
    }

    public static  Function, Validation> errorIfDefined(A ...errors) {
        return (validatable) -> validatable.map(v -> Validation.fail(errors)).orElse(Validation.success());
    }

    public static  Validation maybeValidate(Optional condition) {
        return condition.map(c -> c.validate()).orElse(Validation.success());
    }

    public static  Validation maybeValidate(Optional condition, Function> check) {
        return condition.map(check).orElse(Validation.success());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy