Skip to content

Commit 0935cb8

Browse files
More simplification.
1 parent 5b2c0ca commit 0935cb8

File tree

1 file changed

+12
-18
lines changed

1 file changed

+12
-18
lines changed

src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java

+12-18
Original file line numberDiff line numberDiff line change
@@ -142,33 +142,27 @@ class ZipFileSystem extends FileSystem {
142142
private final Set<String> supportedFileAttributeViews;
143143

144144
// If it's decided to try and make access mode common to other file systems,
145-
// this should exist somewhere common, but if it's definitely never going to
145+
// this could exist somewhere common, but if it's definitely never going to
146146
// be shared, it could be made public here.
147-
private enum FileSystemAccessMode {
148-
// Creates a file system for default access according to file system semantics.
149-
DEFAULT("default"),
147+
private enum AccessMode {
150148
// Creates a file system for read-write access.
151149
READ_WRITE("readWrite"),
152150
// Creates a file system for read-only access.
153151
READ_ONLY("readOnly");
154152

155153
private final String label;
156154

157-
FileSystemAccessMode(String label) {
155+
AccessMode(String label) {
158156
this.label = label;
159157
}
160158

161-
// Parses the file system permission from an environmental parameter.
162-
static FileSystemAccessMode from(Object value) {
159+
// Parses the file system permission from an environmental parameter. While
160+
// the FileSystemAccessMode is private, we don't need to check if it was
161+
// given as a value. Returns null to indicate default behaviour.
162+
static AccessMode from(Object value) {
163163
switch (value) {
164164
case null -> {
165-
return DEFAULT;
166-
}
167-
case FileSystemAccessMode permission -> {
168-
return permission;
169-
}
170-
case String label when DEFAULT.label.equals(label) -> {
171-
return DEFAULT;
165+
return null;
172166
}
173167
case String label when READ_WRITE.label.equals(label) -> {
174168
return READ_WRITE;
@@ -195,8 +189,8 @@ static FileSystemAccessMode from(Object value) {
195189
this.forceEnd64 = isTrue(env, "forceZIP64End");
196190
this.defaultCompressionMethod = getDefaultCompressionMethod(env);
197191

198-
FileSystemAccessMode accessMode = FileSystemAccessMode.from(env.get(PROPERTY_ACCESS_MODE));
199-
boolean forceReadOnly = (accessMode == FileSystemAccessMode.READ_ONLY);
192+
AccessMode accessMode = AccessMode.from(env.get(PROPERTY_ACCESS_MODE));
193+
boolean forceReadOnly = (accessMode == AccessMode.READ_ONLY);
200194

201195
this.supportPosix = isTrue(env, PROPERTY_POSIX);
202196
this.defaultOwner = supportPosix ? initOwner(zfpath, env) : null;
@@ -217,7 +211,7 @@ static FileSystemAccessMode from(Object value) {
217211
}
218212
}
219213
// sm and existence check
220-
zfpath.getFileSystem().provider().checkAccess(zfpath, AccessMode.READ);
214+
zfpath.getFileSystem().provider().checkAccess(zfpath, java.nio.file.AccessMode.READ);
221215
this.zc = ZipCoder.get(nameEncoding);
222216
this.ch = Files.newByteChannel(zfpath, READ);
223217
try {
@@ -246,7 +240,7 @@ static FileSystemAccessMode from(Object value) {
246240
// We only allow read-write zip/jar files if they are not multi-release
247241
// JARs and the underlying file is writable.
248242
this.readOnly = forceReadOnly || multiReleaseVersion.isPresent() || !Files.isWritable(zfpath);
249-
if (readOnly && accessMode == FileSystemAccessMode.READ_WRITE) {
243+
if (readOnly && accessMode == AccessMode.READ_WRITE) {
250244
String reason = Files.isWritable(zfpath)
251245
? "A multi-release JAR file opened with a specified version is not writable"
252246
: "The underlying ZIP file is not writable";

0 commit comments

Comments
 (0)