On Thu, 22 May 2025 01:41:51 GMT, Henry Jen <henry...@openjdk.org> wrote:
>> src/jdk.jartool/share/classes/sun/tools/jar/Main.java line 454: >> >>> 452: new FileInputStream(file)))) { >>> 453: >>> 454: return Validator.validate(this, zf, zis); >> >> I think it might be better to change the `Validator.validate()` method to >> accept a `java.nio.file.Path` instead of accepting a ZipFile instance and a >> ZipInputStream instance. In its current form it feels odd that the call site >> (like here) needs to pass ZipFile and ZipInputStream to a validator. The >> checks using a ZipFile and a ZipInputStream for the same file is more an >> internal detail of the validator, so it would be good to let it construct >> those instances internally as appropriate. >> >> The `Validator` class itself belongs to an internal package of this tool, so >> changing the signature of this method to accept a `Path` wouldn't be a >> problem. >> >> It also looks like the Validator uses this `Main` instance merely for error >> reporting. So maybe in a future update we could remove the need to pass >> along this `Main` instance to the validator. That one doesn't have to be >> done in this PR. > > I keep File instead of Path to avoid unnecessary changes. Thank you for the update to this method, Henry. Retaining the use of `File` is fine. We have a separate plan for future to use `java.nio.file.Path` for the code in the jar tool and this can be revisited at that time. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24430#discussion_r2102239606