8237508: Simplify JarFile.isInitializing
Reviewed-by: dfuchs, coffeys, lancea
diff --git a/src/java.base/share/classes/java/util/jar/JarFile.java b/src/java.base/share/classes/java/util/jar/JarFile.java
index b617d5a..323a42e 100644
--- a/src/java.base/share/classes/java/util/jar/JarFile.java
+++ b/src/java.base/share/classes/java/util/jar/JarFile.java
@@ -147,11 +147,13 @@
*/
public
class JarFile extends ZipFile {
- private final static Runtime.Version BASE_VERSION;
- private final static int BASE_VERSION_FEATURE;
- private final static Runtime.Version RUNTIME_VERSION;
- private final static boolean MULTI_RELEASE_ENABLED;
- private final static boolean MULTI_RELEASE_FORCED;
+ private static final Runtime.Version BASE_VERSION;
+ private static final int BASE_VERSION_FEATURE;
+ private static final Runtime.Version RUNTIME_VERSION;
+ private static final boolean MULTI_RELEASE_ENABLED;
+ private static final boolean MULTI_RELEASE_FORCED;
+ private static final ThreadLocal<Boolean> isInitializing = new ThreadLocal<>();
+
private SoftReference<Manifest> manRef;
private JarEntry manEntry;
private JarVerifier jv;
@@ -160,8 +162,6 @@
private final Runtime.Version version; // current version
private final int versionFeature; // version.feature()
private boolean isMultiRelease; // is jar multi-release?
- static final ThreadLocal<Boolean> isInitializing =
- ThreadLocal.withInitial(() -> Boolean.FALSE);
// indicates if Class-Path attribute present
private boolean hasClassPathAttribute;
@@ -1043,6 +1043,11 @@
}
}
+ static boolean isInitializing() {
+ Boolean value = isInitializing.get();
+ return (value == null) ? false : value;
+ }
+
/*
* Returns a versioned {@code JarFileEntry} for the given entry,
* if there is one. Otherwise returns the original entry. This
diff --git a/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java b/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
index 434e847..8bb69f3 100644
--- a/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
+++ b/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
@@ -69,7 +69,7 @@
jar.ensureInitialization();
}
- public Boolean isInitializing() {
- return JarFile.isInitializing.get();
+ public boolean isInitializing() {
+ return JarFile.isInitializing();
}
}
diff --git a/src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java b/src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java
index a893ab9..0623e66 100644
--- a/src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java
+++ b/src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java
@@ -45,5 +45,5 @@
public List<Object> getManifestDigests(JarFile jar);
public Attributes getTrustedAttributes(Manifest man, String name);
public void ensureInitialization(JarFile jar);
- public Boolean isInitializing();
+ public boolean isInitializing();
}