mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-08 21:52:48 +07:00
GitOrigin-RevId: 0dddc582af0ac00cab70b2a237f11afa706477df
32 lines
893 B
Java
32 lines
893 B
Java
import org.jetbrains.annotations.Contract;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
class TestCls {
|
|
public String broken(@NotNull Getter dowGetter) {
|
|
final DayOfWeek dowOrDefault = firstNonNull(dowGetter.getDow(""), DayOfWeek.MONDAY);
|
|
return dowOrDefault.name();
|
|
}
|
|
|
|
public String correct(@NotNull Getter dowGetter) {
|
|
final DayOfWeek dowOrDefault = firstNonNull(dowGetter.getDow(), DayOfWeek.MONDAY);
|
|
return dowOrDefault.name();
|
|
}
|
|
|
|
@Nullable
|
|
@Contract(value = "!null, _ -> param1; null, !null -> param2; null, null -> null", pure = true)
|
|
public static <T> T firstNonNull(@Nullable T value1, @Nullable T value2) {
|
|
return value1 == null ? value2 : value1;
|
|
}
|
|
|
|
public interface Getter {
|
|
@Nullable
|
|
DayOfWeek getDow();
|
|
@Nullable
|
|
DayOfWeek getDow(String param);
|
|
}
|
|
|
|
enum DayOfWeek {
|
|
MONDAY
|
|
}
|
|
} |