data-generator/datagen/src/main/java/it/cavallium/datagen/NativeNullable.java

25 lines
454 B
Java
Raw Normal View History

2023-04-20 10:11:12 +02:00
package it.cavallium.datagen;
2023-01-17 16:14:00 +01:00
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface NativeNullable<T> {
boolean isEmpty();
default boolean isPresent() {
return !isEmpty();
}
@NotNull
T orElse(@NotNull T defaultValue);
@NotNull NativeNullable<? extends T> or(@NotNull NativeNullable<? extends T> fallback);
@Nullable
T getNullable();
@Nullable
T getNullable(@Nullable T defaultValue);
}