Description
The zipfs implementation has 2 classes which I think could be removed/refactored:
1) jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystemProvider.java can be removed completely. I don't see any references to it in the zipfs code and it is not exported via module-info, neither as direct export nor as service implementation. I think the ZipFileSystem (also for jar files) is provided only via ZipFileSystemProvider.
2) jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java contains an augmentation of ZipFileSystem.java for multi release jars. If the underlying file is a multi-release jar file and the creator of the file system object has specified the property "releaseVersion" or "multi-release", it adds a lookup map to be used by method getInode() to lookup a jar entry for the requested platform version. This part of code can be implemented in ZipFileSystem as well.
1) jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystemProvider.java can be removed completely. I don't see any references to it in the zipfs code and it is not exported via module-info, neither as direct export nor as service implementation. I think the ZipFileSystem (also for jar files) is provided only via ZipFileSystemProvider.
2) jdk.zipfs/share/classes/jdk/nio/zipfs/JarFileSystem.java contains an augmentation of ZipFileSystem.java for multi release jars. If the underlying file is a multi-release jar file and the creator of the file system object has specified the property "releaseVersion" or "multi-release", it adds a lookup map to be used by method getInode() to lookup a jar entry for the requested platform version. This part of code can be implemented in ZipFileSystem as well.