Class Jre12Compat

java.lang.Object
org.apache.tomcat.util.compat.JreCompat
org.apache.tomcat.util.compat.Jre12Compat
Direct Known Subclasses:
Jre19Compat

public class Jre12Compat extends JreCompat
  • Constructor Details

    • Jre12Compat

      public Jre12Compat()
  • Method Details

    • isCanonCachesDisabled

      public boolean isCanonCachesDisabled()
      Overrides:
      isCanonCachesDisabled in class JreCompat
    • ensureUseCanonCachesFieldIsPopulated

      protected void ensureUseCanonCachesFieldIsPopulated()
      Overrides:
      ensureUseCanonCachesFieldIsPopulated in class JreCompat
    • isInstanceOfInaccessibleObjectException

      public boolean isInstanceOfInaccessibleObjectException(Throwable t)
      Description copied from class: JreCompat
      Test if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.
      Overrides:
      isInstanceOfInaccessibleObjectException in class JreCompat
      Parameters:
      t - The exception to test
      Returns:
      true if the exception is an instance of InaccessibleObjectException, otherwise false
    • disableCachingForJarUrlConnections

      public void disableCachingForJarUrlConnections() throws IOException
      Description copied from class: JreCompat
      Disables caching for JAR URL connections. For Java 8 and earlier, this also disables caching for ALL URL connections.
      Overrides:
      disableCachingForJarUrlConnections in class JreCompat
      Throws:
      IOException - If a dummy JAR URLConnection can not be created
    • addBootModulePath

      public void addBootModulePath(Deque<URL> classPathUrlsToProcess)
      Description copied from class: JreCompat
      Obtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.
      Overrides:
      addBootModulePath in class JreCompat
      Parameters:
      classPathUrlsToProcess - The Deque to which the modules should be added
    • jarFileNewInstance

      public JarFile jarFileNewInstance(File f) throws IOException
      Description copied from class: JreCompat
      Creates a new JarFile instance. When running on Java 9 and later, the JarFile will be multi-release JAR aware.
      Overrides:
      jarFileNewInstance in class JreCompat
      Parameters:
      f - The JAR file to open
      Returns:
      A JarFile instance based on the provided file
      Throws:
      IOException - If an I/O error occurs creating the JarFile instance
    • jarFileIsMultiRelease

      public boolean jarFileIsMultiRelease(JarFile jarFile)
      Description copied from class: JreCompat
      Is this JarFile a multi-release JAR file.
      Overrides:
      jarFileIsMultiRelease in class JreCompat
      Parameters:
      jarFile - The JarFile to test
      Returns:
      true If it is a multi-release JAR file and is configured to behave as such.
    • jarFileRuntimeMajorVersion

      public int jarFileRuntimeMajorVersion()
      Overrides:
      jarFileRuntimeMajorVersion in class JreCompat
    • canAccess

      public boolean canAccess(Object base, AccessibleObject accessibleObject)
      Description copied from class: JreCompat
      Is the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?
      Overrides:
      canAccess in class JreCompat
      Parameters:
      base - The specific instance to be tested.
      accessibleObject - The method/field/constructor to be tested.
      Returns:
      {code true} if the AccessibleObject can be accessed otherwise {code false}
    • isExported

      public boolean isExported(Class<?> type)
      Description copied from class: JreCompat
      Is the given class in an exported package?
      Overrides:
      isExported in class JreCompat
      Parameters:
      type - The class to test
      Returns:
      Always true for Java 8. true if the enclosing package is exported for Java 9+
    • getModuleName

      public String getModuleName(Class<?> type)
      Description copied from class: JreCompat
      What is the module of the given class?
      Overrides:
      getModuleName in class JreCompat
      Parameters:
      type - The class to test
      Returns:
      Always true for Java 8. true if the enclosing package is exported for Java 9+