diff --git a/java/src/org/openqa/selenium/html5/AppCacheStatus.java b/java/src/org/openqa/selenium/html5/AppCacheStatus.java index a1fc9649f9568..49c79ee942728 100644 --- a/java/src/org/openqa/selenium/html5/AppCacheStatus.java +++ b/java/src/org/openqa/selenium/html5/AppCacheStatus.java @@ -17,8 +17,12 @@ package org.openqa.selenium.html5; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; + /** Represents the application cache status. */ @Deprecated +@NullMarked public enum AppCacheStatus { UNCACHED(0), IDLE(1), @@ -43,7 +47,7 @@ public int value() { * @param value The input value * @return {@link AppCacheStatus} The corresponding appcache status */ - public static AppCacheStatus getEnum(int value) { + public static @Nullable AppCacheStatus getEnum(int value) { for (AppCacheStatus status : AppCacheStatus.values()) { if (value == status.value()) { return status; @@ -52,7 +56,7 @@ public static AppCacheStatus getEnum(int value) { return null; } - public static AppCacheStatus getEnum(String value) { + public static @Nullable AppCacheStatus getEnum(String value) { for (AppCacheStatus status : AppCacheStatus.values()) { if (status.toString().equalsIgnoreCase(value)) { return status; diff --git a/java/src/org/openqa/selenium/internal/Either.java b/java/src/org/openqa/selenium/internal/Either.java index 0669389ae7271..cb8cde8430777 100644 --- a/java/src/org/openqa/selenium/internal/Either.java +++ b/java/src/org/openqa/selenium/internal/Either.java @@ -21,8 +21,11 @@ import java.util.Iterator; import java.util.function.Function; import java.util.stream.Stream; +import org.jspecify.annotations.NullMarked; +import org.jspecify.annotations.Nullable; -public class Either implements Iterable { +@NullMarked +public class Either implements Iterable { private final A left; private final B right; @@ -31,11 +34,11 @@ private Either(A a, B b) { right = b; } - public static Either left(A a) { + public static Either left(A a) { return new Either<>(a, null); } - public static Either right(B b) { + public static Either right(B b) { return new Either<>(null, b); } diff --git a/java/src/org/openqa/selenium/virtualauthenticator/Credential.java b/java/src/org/openqa/selenium/virtualauthenticator/Credential.java index fa293239d1356..486ff04b5d0cc 100644 --- a/java/src/org/openqa/selenium/virtualauthenticator/Credential.java +++ b/java/src/org/openqa/selenium/virtualauthenticator/Credential.java @@ -63,14 +63,21 @@ public static Credential createResidentCredential( /** Creates a credential from a map. */ public static Credential fromMap(Map map) { + Object credentialId = Require.nonNull("credentialId", map.get("credentialId")); + Object isResidentCredential = + Require.nonNull("isResidentCredential", map.get("isResidentCredential")); + Object rpId = Require.nonNull("rpId", map.get("rpId")); + Object privateKey = Require.nonNull("privateKey", map.get("privateKey")); + Object userHandle = map.get("userHandle"); + Object signCount = Require.nonNull("signCount", map.get("signCount")); Base64.Decoder decoder = Base64.getUrlDecoder(); return new Credential( - decoder.decode((String) map.get("credentialId")), - (boolean) map.get("isResidentCredential"), - (String) map.get("rpId"), - new PKCS8EncodedKeySpec(decoder.decode((String) map.get("privateKey"))), - map.get("userHandle") == null ? null : decoder.decode((String) map.get("userHandle")), - ((Long) map.get("signCount")).intValue()); + decoder.decode((String) credentialId), + (boolean) isResidentCredential, + (String) rpId, + new PKCS8EncodedKeySpec(decoder.decode((String) privateKey)), + userHandle == null ? null : decoder.decode((String) userHandle), + ((Long) signCount).intValue()); } private Credential(