Package org.apache.tomcat.util.compat
Class Jre22Compat
- java.lang.Object
-
- org.apache.tomcat.util.compat.JreCompat
-
- org.apache.tomcat.util.compat.Jre19Compat
-
- org.apache.tomcat.util.compat.Jre21Compat
-
- org.apache.tomcat.util.compat.Jre22Compat
-
public class Jre22Compat extends Jre21Compat
-
-
Field Summary
-
Fields inherited from class org.apache.tomcat.util.compat.JreCompat
getApplicationProtocolMethod, setApplicationProtocolsMethod
-
-
Constructor Summary
Constructors Constructor Description Jre22Compat()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBootModulePath(java.util.Deque<java.net.URL> classPathUrlsToProcess)Obtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.booleancanAccess(java.lang.Object base, java.lang.reflect.AccessibleObject accessibleObject)Is the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?voiddisableCachingForJarUrlConnections()Disables caching for JAR URL connections.java.lang.StringgetModuleName(java.lang.Class<?> type)What is the module of the given class?java.net.SocketAddressgetUnixDomainSocketAddress(java.lang.String path)Return Unix domain socket address for given path.booleanisExported(java.lang.Class<?> type)Is the given class in an exported package?booleanisInstanceOfInaccessibleObjectException(java.lang.Throwable t)Test if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.booleanjarFileIsMultiRelease(java.util.jar.JarFile jarFile)Is this JarFile a multi-release JAR file.java.util.jar.JarFilejarFileNewInstance(java.io.File f)Creates a new JarFile instance.intjarFileRuntimeMajorVersion()java.nio.channels.ServerSocketChannelopenUnixDomainServerSocketChannel()Create server socket channel using the Unix domain socket ProtocolFamily.java.nio.channels.SocketChannelopenUnixDomainSocketChannel()Create socket channel using the Unix domain socket ProtocolFamily.-
Methods inherited from class org.apache.tomcat.util.compat.Jre21Compat
createVirtualThreadBuilder, threadBuilderStart
-
Methods inherited from class org.apache.tomcat.util.compat.Jre19Compat
getExecutor
-
Methods inherited from class org.apache.tomcat.util.compat.JreCompat
getApplicationProtocol, getInstance, isAlpnSupported, isGraalAvailable, isJre11Available, isJre16Available, isJre19Available, isJre21Available, isJre22Available, isJre9Available, jarFileNewInstance, setApplicationProtocols
-
-
-
-
Method Detail
-
getUnixDomainSocketAddress
public java.net.SocketAddress getUnixDomainSocketAddress(java.lang.String path)
Description copied from class:JreCompatReturn Unix domain socket address for given path.- Overrides:
getUnixDomainSocketAddressin classJreCompat- Parameters:
path- The path- Returns:
- the socket address
-
openUnixDomainServerSocketChannel
public java.nio.channels.ServerSocketChannel openUnixDomainServerSocketChannel()
Description copied from class:JreCompatCreate server socket channel using the Unix domain socket ProtocolFamily.- Overrides:
openUnixDomainServerSocketChannelin classJreCompat- Returns:
- the server socket channel
-
openUnixDomainSocketChannel
public java.nio.channels.SocketChannel openUnixDomainSocketChannel()
Description copied from class:JreCompatCreate socket channel using the Unix domain socket ProtocolFamily.- Overrides:
openUnixDomainSocketChannelin classJreCompat- Returns:
- the socket channel
-
isInstanceOfInaccessibleObjectException
public boolean isInstanceOfInaccessibleObjectException(java.lang.Throwable t)
Description copied from class:JreCompatTest if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.- Overrides:
isInstanceOfInaccessibleObjectExceptionin classJreCompat- Parameters:
t- The exception to test- Returns:
trueif the exception is an instance of InaccessibleObjectException, otherwisefalse
-
disableCachingForJarUrlConnections
public void disableCachingForJarUrlConnections() throws java.io.IOExceptionDescription copied from class:JreCompatDisables caching for JAR URL connections. For Java 8 and earlier, this also disables caching for ALL URL connections.- Overrides:
disableCachingForJarUrlConnectionsin classJreCompat- Throws:
java.io.IOException- If a dummy JAR URLConnection can not be created
-
addBootModulePath
public void addBootModulePath(java.util.Deque<java.net.URL> classPathUrlsToProcess)
Description copied from class:JreCompatObtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.- Overrides:
addBootModulePathin classJreCompat- Parameters:
classPathUrlsToProcess- The Deque to which the modules should be added
-
jarFileNewInstance
public java.util.jar.JarFile jarFileNewInstance(java.io.File f) throws java.io.IOExceptionDescription copied from class:JreCompatCreates a new JarFile instance. When running on Java 9 and later, the JarFile will be multi-release JAR aware.- Overrides:
jarFileNewInstancein classJreCompat- Parameters:
f- The JAR file to open- Returns:
- A JarFile instance based on the provided file
- Throws:
java.io.IOException- If an I/O error occurs creating the JarFile instance
-
jarFileIsMultiRelease
public boolean jarFileIsMultiRelease(java.util.jar.JarFile jarFile)
Description copied from class:JreCompatIs this JarFile a multi-release JAR file.- Overrides:
jarFileIsMultiReleasein classJreCompat- Parameters:
jarFile- The JarFile to test- Returns:
trueIf it is a multi-release JAR file and is configured to behave as such.
-
jarFileRuntimeMajorVersion
public int jarFileRuntimeMajorVersion()
- Overrides:
jarFileRuntimeMajorVersionin classJreCompat
-
canAccess
public boolean canAccess(java.lang.Object base, java.lang.reflect.AccessibleObject accessibleObject)Description copied from class:JreCompatIs the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?
-
isExported
public boolean isExported(java.lang.Class<?> type)
Description copied from class:JreCompatIs the given class in an exported package?- Overrides:
isExportedin classJreCompat- Parameters:
type- The class to test- Returns:
- Always
truefor Java 8.trueif the enclosing package is exported for Java 9+
-
getModuleName
public java.lang.String getModuleName(java.lang.Class<?> type)
Description copied from class:JreCompatWhat is the module of the given class?- Overrides:
getModuleNamein classJreCompat- Parameters:
type- The class to test- Returns:
- Always
truefor Java 8.trueif the enclosing package is exported for Java 9+
-
-