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

br.com.fluentvalidator.predicate.LogicalPredicate Maven / Gradle / Ivy

The newest version!
package br.com.fluentvalidator.predicate;

import static br.com.fluentvalidator.predicate.ObjectPredicate.nullValue;

import java.util.function.Function;
import java.util.function.Predicate;

public final class LogicalPredicate {

  /**
   *
   * @param 
   * @param predicate
   * @return
   */
  static  Predicate is(final Predicate predicate) {
    return PredicateBuilder.from(predicate.and(is -> true));
  }

  /**
   * 
   * @return
   */
  public static Predicate isFalse() {
    return PredicateBuilder.from(not(nullValue())).and(not(isFalse -> isFalse));
  }

  /**
   * 
   * @param 
   * @param function
   * @return
   */
  public static  Predicate isFalse(final Function function) {
    return PredicateBuilder.from(not(nullValue()))
        .and(not(nullValue(function)))
        .and(not(function::apply));
  }

  /**
   * 
   * @return
   */
  public static Predicate isTrue() {
    return PredicateBuilder.from(not(nullValue())).and(is(isTrue -> isTrue));
  }

  /**
   * 
   * @param 
   * @param function
   * @return
   */
  public static  Predicate isTrue(final Function function) {
    return PredicateBuilder.from(not(nullValue()))
        .and(not(nullValue(function)))
        .and(function::apply);
  }
  
  /**
   *
   * @param 
   * @param predicate
   * @return
   */
  public static  Predicate not(final Predicate predicate) {
    return PredicateBuilder.from(predicate.negate());
  }

  private LogicalPredicate() {
    super();
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy