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

co.pragmati.function.unchecked.UncheckedBiFunction Maven / Gradle / Ivy

The newest version!
package co.pragmati.function.unchecked;

import java.util.Objects;
import java.util.function.Function;

/**
 * BiFunction that throws exceptions
 * @param 
 * @param 
 * @param 
 *
 * @author jmbataller
 */
@FunctionalInterface
public interface UncheckedBiFunction {

    R applyThows(T t, U u) throws Exception;

    default R apply(T t, U u) {
        try {
            return applyThows(t, u);
        } catch (RuntimeException e) {
            throw e;
        } catch (java.lang.Exception e) {
            throw new RuntimeException(e);
        }
    }

    default  UncheckedBiFunction andThen(Function after) {
        Objects.requireNonNull(after);
        return (T t, U u) -> after.apply(applyThows(t, u));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy