[java] JSpecify annotations for `FileDetector` by mk868 ยท Pull Request #16482 ยท SeleniumHQ/selenium

User description

๐Ÿ”— Related Issues

Related #14291

๐Ÿ’ฅ What does this PR do?

JSpecify annotations added to the:

  • org.openqa.selenium.remote.FileDetector
  • org.openqa.selenium.remote.LocalFileDetector
  • org.openqa.selenium.remote.UselessFileDetector

๐Ÿ”ง Implementation Notes

๐Ÿ’ก Additional Considerations

๐Ÿ”„ Types of changes

  • New feature (non-breaking change which adds functionality and tests!)

PR Type

Enhancement, Documentation


Description

  • Add JSpecify null-safety annotations to FileDetector interface

  • Annotate LocalFileDetector and UselessFileDetector implementations

  • Mark getLocalFile() return type as @nullable

  • Apply @NullMarked to interface and implementations for consistency


Diagram Walkthrough

flowchart LR
  FileDetector["FileDetector<br/>interface"]
  LocalFileDetector["LocalFileDetector<br/>implementation"]
  UselessFileDetector["UselessFileDetector<br/>implementation"]
  JSpecify["JSpecify<br/>annotations"]
  
  JSpecify -- "@NullMarked" --> FileDetector
  JSpecify -- "@Nullable" --> FileDetector
  JSpecify -- "@NullMarked" --> LocalFileDetector
  JSpecify -- "@Nullable" --> LocalFileDetector
  JSpecify -- "@Nullable" --> UselessFileDetector
Loading

File Walkthrough

Relevant files
Documentation
FileDetector.java
Add JSpecify annotations to FileDetector interface             

java/src/org/openqa/selenium/remote/FileDetector.java

  • Import JSpecify annotations (@NullMarked and @Nullable)
  • Add @NullMarked class-level annotation to interface
  • Annotate getLocalFile() return type with @Nullable
+4/-1     
LocalFileDetector.java
Add JSpecify annotations to LocalFileDetector                       

java/src/org/openqa/selenium/remote/LocalFileDetector.java

  • Import JSpecify annotations (@NullMarked and @Nullable)
  • Add @NullMarked class-level annotation
  • Annotate getLocalFile() return type with @Nullable
+4/-1     
UselessFileDetector.java
Add JSpecify null-safety annotation to UselessFileDetector

java/src/org/openqa/selenium/remote/UselessFileDetector.java

  • Import JSpecify @Nullable annotation
  • Annotate getLocalFile() return type with @Nullable
+2/-1