@FunctionalInterface
public interface BranchFunction {
void trueOrFalseHandle(Runnable trueHandle, Runnable falseHandle);
}
@FunctionalInterface
public interface LambdaThrowException {
void apply() throws Exception;
}
@FunctionalInterface
public interface PresentOrElseFunction<T> {
void presentOrElseHandle(Consumer<? super T> action, Runnable emptyAction);
}
@FunctionalInterface
public interface ThrowExceptionFunction {
void throwMessage(String message);
}
package org.example.common.util;
import lombok.extern.slf4j.Slf4j;
import org.example.common.handler.*;
@Slf4j
public class HandlerUtils {
public static ThrowExceptionFunction isTure(boolean param) {
return (errorMessage) -> {
if (param) {
throw new RuntimeException(errorMessage);
}
};
}
public static void noArgsConstructor(LambdaThrowException lambdaThrowException) {
try {
lambdaThrowException.apply();
} catch (Exception param) {
param.printStackTrace();
throw new RuntimeException(param);
}
;
}
public static void containArgsConstructor(LambdaThrowException lambdaThrowException, String var) {
try {
lambdaThrowException.apply();
} catch (Exception param) {
log.error(var);
param.printStackTrace();
throw new RuntimeException(param);
}
}
public static BranchFunction isTureOrFalse(boolean param) {
return (trueHandle, falseHandle) -> {
if (param) {
trueHandle.run();
} else {
falseHandle.run();
}
};
}
public static PresentOrElseFunction<?> isBlankOrNoBlank(String str) {
return (consumer, runnable) -> {
if (str == null || str.length() == 0) {
runnable.run();
} else {
consumer.accept(str);
}
};
}
}