InvocationResult Class — spring-boot Architecture
Architecture documentation for the InvocationResult class in LambdaSafe.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/util/LambdaSafe.java lines 389–446
public static final class InvocationResult<R> {
private static final InvocationResult<?> NONE = new InvocationResult<>(null);
private final @Nullable R value;
private InvocationResult(@Nullable R value) {
this.value = value;
}
/**
* Return true if a result in present.
* @return if a result is present
*/
public boolean hasResult() {
return this != NONE;
}
/**
* Return the result of the invocation or {@code null} if the callback wasn't
* suitable.
* @return the result of the invocation or {@code null}
*/
public @Nullable R get() {
return this.value;
}
/**
* Return the result of the invocation or the given fallback if the callback
* wasn't suitable.
* @param fallback the fallback to use when there is no result
* @return the result of the invocation or the fallback
*/
public @Nullable R get(@Nullable R fallback) {
return (this != NONE) ? this.value : fallback;
}
/**
* Create a new {@link InvocationResult} instance with the specified value.
* @param value the value (may be {@code null})
* @param <R> the result type
* @return an {@link InvocationResult}
*/
public static <R> InvocationResult<R> of(@Nullable R value) {
return new InvocationResult<>(value);
}
/**
* Return an {@link InvocationResult} instance representing no result.
* @param <R> the result type
* @return an {@link InvocationResult}
*/
@SuppressWarnings("unchecked")
public static <R> InvocationResult<R> noResult() {
return (InvocationResult<R>) NONE;
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free