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

com.github.dakusui.crest.utils.printable.Printable Maven / Gradle / Ivy

package com.github.dakusui.crest.utils.printable;


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

public enum Printable {
  ;
  static boolean assertsEnabled = false;

  static {
    // noinspection AssertWithSideEffects
    assert assertsEnabled = true; // Intentional side-effect!!!
  }

  public static  Predicate predicate(Supplier s, Predicate predicate) {
    return assertsEnabled ?
        Printable.printablePredicate(s.get(), predicate) :
        predicate;
  }

  public static  Predicate predicate(String s, Predicate predicate) {
    return assertsEnabled ?
        Printable.printablePredicate(s, predicate) :
        predicate;
  }

  public static  Function function(Supplier s, Function function) {
    return assertsEnabled ?
        Printable.printableFunction(s.get(), function) :
        function;
  }

  public static  Function function(String s, Function function) {
    return assertsEnabled ?
        Printable.printableFunction(s, function) :
        function;
  }

  public static  Predicate printablePredicate(String s, Predicate predicate) {
    return new PrintablePredicate<>(s, predicate);
  }

  public static  PrintableFunction printableFunction(String s, Function function) {
    return PrintableFunction.create(s, function);
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy