/* * copyright (c) squibid 2024 under the Beerware license. * * If we meet some day, and you think this stuff is worth it, you can buy me a * beer in return. */ import java.util.Optional; /** * Stop Optionals from being used! * safely reducing optionals back to their original types. */ public final class StOptional { /** * Reduce any optional down to it's original type * * @param o Optional to reduce to it's original type * @return value of optional in original type or null */ public static final T reduce(Optional o) { return nullish(o) ? null : o.get(); } /** * Checks if Optional is null or empty * * @param o Optional optional to check for null like properties * @return boolean true if null or empty, false otherwise */ public static final boolean nullish(Optional o) { if (o == null || o.isEmpty()) return true; return false; } }