1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * https://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.commons.lang3; 19 20 import java.util.function.BooleanSupplier; 21 import java.util.function.IntSupplier; 22 import java.util.function.LongSupplier; 23 import java.util.function.Supplier; 24 25 import org.apache.commons.lang3.function.Suppliers; 26 27 /** 28 * Accesses current <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Property</a> names and values. 29 * 30 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 31 * @since 3.13.0 32 */ 33 public final class SystemProperties { 34 35 /** 36 * The System property name {@value}. 37 * 38 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/TrayIcon.html#apple.awt.enableTemplateImages">apple.awt.enableTemplateImages</a> 39 * @since 3.15.0 40 */ 41 public static final String APPLE_AWT_ENABLE_TEMPLATE_IMAGES = "apple.awt.enableTemplateImages"; 42 43 /** 44 * The System property name {@value}. 45 * <p> 46 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 47 * </p> 48 * 49 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 50 * @deprecated Deprecated without replacement. 51 */ 52 @Deprecated 53 public static final String AWT_TOOLKIT = "awt.toolkit"; 54 55 /** 56 * The System property name {@value}. 57 * 58 * @see <a href= 59 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.naming/module-summary.html#com.sun.jndi.ldap.object.trustSerialData">com.sun.jndi.ldap.object.trustSerialData</a> 60 * @since 3.15.0 61 */ 62 public static final String COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA = "com.sun.jndi.ldap.object.trustSerialData"; 63 64 /** 65 * The System property name {@value}. 66 * 67 * @see <a href= 68 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/com/sun/net/httpserver/spi/HttpServerProvider.html#com.sun.net.httpserver.HttpServerProvider">com.sun.net.httpserver.HttpServerProvider</a> 69 * @since 3.15.0 70 */ 71 public static final String COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER = "com.sun.net.httpserver.HttpServerProvider"; 72 73 /** 74 * The System property name {@value}. 75 */ 76 public static final String FILE_ENCODING = "file.encoding"; 77 78 /** 79 * The System property name {@value}. 80 */ 81 public static final String FILE_SEPARATOR = "file.separator"; 82 83 /** 84 * The System property name {@value}. 85 * 86 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#ftp.nonProxyHosts">ftp.nonProxyHosts</a> 87 * @since 3.15.0 88 */ 89 public static final String FTP_NON_PROXY_HOST = "ftp.nonProxyHosts"; 90 91 /** 92 * The System property name {@value}. 93 * 94 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#ftp.proxyHost">ftp.proxyHost</a> 95 * @since 3.15.0 96 */ 97 public static final String FTP_PROXY_HOST = "ftp.proxyHost"; 98 99 /** 100 * The System property name {@value}. 101 * 102 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#ftp.proxyPort">ftp.proxyPort</a> 103 * @since 3.15.0 104 */ 105 public static final String FTP_PROXY_PORT = "ftp.proxyPort"; 106 107 /** 108 * The System property name {@value}. 109 * 110 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.agent">http.agent</a> 111 * @since 3.15.0 112 */ 113 public static final String HTTP_AGENT = "http.agent"; 114 115 /** 116 * The System property name {@value}. 117 * 118 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#auth.digest.cnonceRepeat">auth.digest.cnonceRepeat</a> 119 * @since 3.15.0 120 */ 121 public static final String HTTP_AUTH_DIGEST_CNONCE_REPEAT = "http.auth.digest.cnonceRepeat"; 122 123 /** 124 * The System property name {@value}. 125 * 126 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#reEnabledAlgorithms">http.auth.digest.reEnabledAlgorithms</a> 127 * @since 3.15.0 128 */ 129 public static final String HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS = "http.auth.digest.reEnabledAlgorithms"; 130 131 /** 132 * The System property name {@value}. 133 * 134 * @see <a href= 135 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.auth.digest.validateProxy">http.auth.digest.validateProxy</a> 136 * @since 3.15.0 137 */ 138 public static final String HTTP_AUTH_DIGEST_VALIDATE_PROXY = "http.auth.digest.validateProxy"; 139 140 /** 141 * The System property name {@value}. 142 * 143 * @see <a href= 144 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.auth.digest.validateServer">http.auth.digest.validateServer</a> 145 * @since 3.15.0 146 */ 147 public static final String HTTP_AUTH_DIGEST_VALIDATE_SERVER = "http.auth.digest.validateServer"; 148 149 /** 150 * The System property name {@value}. 151 * 152 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.auth.ntlm.domain">http.auth.ntlm.domain</a> 153 * @since 3.15.0 154 */ 155 public static final String HTTP_AUTH_NTLM_DOMAIN = "http.auth.ntlm.domain"; 156 157 /** 158 * The System property name {@value}. 159 * 160 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.keepAlive">http.keepAlive</a> 161 * @since 3.15.0 162 */ 163 public static final String HTTP_KEEP_ALIVE = "http.keepAlive"; 164 165 /** 166 * The System property name {@value}. 167 * 168 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.keepAlive.time.proxy">http.keepAlive.time.proxy</a> 169 * @since 3.15.0 170 */ 171 public static final String HTTP_KEEP_ALIVE_TIME_PROXY = "http.keepAlive.time.proxy"; 172 173 /** 174 * The System property name {@value}. 175 * 176 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.keepAlive.time.server">http.keepAlive.time.server</a> 177 * @since 3.15.0 178 */ 179 public static final String HTTP_KEEP_ALIVE_TIME_SERVER = "http.keepAlive.time.server"; 180 181 /** 182 * The System property name {@value}. 183 * 184 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.maxConnections">http.maxConnections</a> 185 * @since 3.15.0 186 */ 187 public static final String HTTP_MAX_CONNECTIONS = "http.maxConnections"; 188 189 /** 190 * The System property name {@value}. 191 * 192 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.maxRedirects">http.maxRedirects</a> 193 * @since 3.15.0 194 */ 195 public static final String HTTP_MAX_REDIRECTS = "http.maxRedirects"; 196 197 /** 198 * The System property name {@value}. 199 * 200 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.nonProxyHosts">http.nonProxyHosts</a> 201 * @since 3.15.0 202 */ 203 public static final String HTTP_NON_PROXY_HOSTS = "http.nonProxyHosts"; 204 205 /** 206 * The System property name {@value}. 207 * 208 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.proxyHost">http.proxyHost</a> 209 * @since 3.15.0 210 */ 211 public static final String HTTP_PROXY_HOST = "http.proxyHost"; 212 213 /** 214 * The System property name {@value}. 215 * 216 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#http.proxyPort">http.proxyPort</a> 217 * @since 3.15.0 218 */ 219 public static final String HTTP_PROXY_PORT = "http.proxyPort"; 220 221 /** 222 * The System property name {@value}. 223 * 224 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#https.proxyHost">https.proxyHost</a> 225 * @since 3.15.0 226 */ 227 public static final String HTTPS_PROXY_HOST = "https.proxyHost"; 228 229 /** 230 * The System property name {@value}. 231 * 232 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#https.proxyPort">https.proxyPort</a> 233 * @since 3.15.0 234 */ 235 public static final String HTTPS_PROXY_PORT = "https.proxyPort"; 236 237 /** 238 * The System property name {@value}. 239 * <p> 240 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 241 * </p> 242 * 243 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 244 * @deprecated Deprecated without replacement. 245 */ 246 @Deprecated 247 public static final String JAVA_AWT_FONTS = "java.awt.fonts"; 248 249 /** 250 * The System property name {@value}. 251 * <p> 252 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 253 * </p> 254 * 255 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 256 * @deprecated Deprecated without replacement. 257 */ 258 @Deprecated 259 public static final String JAVA_AWT_GRAPHICSENV = "java.awt.graphicsenv"; 260 261 /** 262 * The System property name {@value}. 263 * <p> 264 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 265 * </p> 266 * 267 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 268 * @deprecated Deprecated without replacement. 269 */ 270 @Deprecated 271 public static final String JAVA_AWT_HEADLESS = "java.awt.headless"; 272 273 /** 274 * The System property name {@value}. 275 * <p> 276 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 277 * </p> 278 * 279 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 280 * @deprecated Deprecated without replacement. 281 */ 282 @Deprecated 283 public static final String JAVA_AWT_PRINTERJOB = "java.awt.printerjob"; 284 285 /** 286 * The System property name {@value}. 287 * 288 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">java.class.path</a> 289 */ 290 public static final String JAVA_CLASS_PATH = "java.class.path"; 291 292 /** 293 * The System property name {@value}. 294 */ 295 public static final String JAVA_CLASS_VERSION = "java.class.version"; 296 297 /** 298 * The System property name {@value}. 299 * <p> 300 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 301 * </p> 302 * 303 * @see <a href="https://bugs.openjdk.org/browse/JDK-8305998">JDK-8305998</a> 304 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 305 * @deprecated Deprecated without replacement. 306 */ 307 @Deprecated 308 public static final String JAVA_COMPILER = "java.compiler"; 309 310 /** 311 * The System property name {@value}. 312 * 313 * @see <a href= 314 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/ContentHandler.html#java.content.handler.pkgs">java.content.handler.pkgs</a> 315 * @since 3.15.0 316 */ 317 public static final String JAVA_CONTENT_HANDLER_PKGS = "java.content.handler.pkgs"; 318 319 /** 320 * The System property name {@value}. 321 * <p> 322 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 323 * </p> 324 * 325 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 326 * @deprecated Deprecated without replacement. 327 */ 328 @Deprecated 329 public static final String JAVA_ENDORSED_DIRS = "java.endorsed.dirs"; 330 331 /** 332 * The System property name {@value}. 333 * <p> 334 * Not in Java 17 and above according to <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> Javadoc. 335 * </p> 336 * 337 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 338 * @deprecated Deprecated without replacement. 339 */ 340 @Deprecated 341 public static final String JAVA_EXT_DIRS = "java.ext.dirs"; 342 343 /** 344 * The System property name {@value}. 345 */ 346 public static final String JAVA_HOME = "java.home"; 347 348 /** 349 * The System property name {@value}. 350 */ 351 public static final String JAVA_IO_TMPDIR = "java.io.tmpdir"; 352 353 /** 354 * The System property name {@value}. 355 */ 356 public static final String JAVA_LIBRARY_PATH = "java.library.path"; 357 358 /** 359 * The System property name {@value}. 360 */ 361 public static final String JAVA_LOCALE_PROVIDERS = "java.locale.providers"; 362 363 /** 364 * The System property name {@value}. 365 * 366 * @see <a href= 367 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Locale.html#java.locale.useOldISOCodes">java.locale.useOldISOCodes</a> 368 * @since 3.15.0 369 */ 370 public static final String JAVA_LOCALE_USE_OLD_ISO_CODES = "java.locale.useOldISOCodes"; 371 372 /** 373 * The System property name {@value}. 374 * 375 * @see <a href= 376 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#java.net.preferIPv4Stack">java.net.preferIPv4Stack</a> 377 * @since 3.15.0 378 */ 379 public static final String JAVA_NET_PREFER_IPV4_STACK = "java.net.preferIPv4Stack"; 380 381 /** 382 * The System property name {@value}. 383 * 384 * @see <a href= 385 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#java.net.preferIPv6Addresses">java.net.preferIPv6Addresses</a> 386 * @since 3.15.0 387 */ 388 public static final String JAVA_NET_PREFER_IPV6_ADDRESSES = "java.net.preferIPv6Addresses"; 389 390 /** 391 * The System property name {@value}. 392 * 393 * @see <a href= 394 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#java.net.socks.password">java.net.socks.password</a> 395 * @since 3.15.0 396 */ 397 public static final String JAVA_NET_SOCKS_PASSWORD = "java.net.socks.password"; 398 399 /** 400 * The System property name {@value}. 401 * 402 * @see <a href= 403 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#java.net.socks.username">java.net.socks.username</a> 404 * @since 3.15.0 405 */ 406 public static final String JAVA_NET_SOCKS_USER_NAME = "java.net.socks.username"; 407 408 /** 409 * The System property name {@value}. 410 * 411 * @see <a href= 412 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/doc-files/net-properties.html#java.net.useSystemProxies">java.net.useSystemProxies</a> 413 * @since 3.15.0 414 */ 415 public static final String JAVA_NET_USE_SYSTEM_PROXIES = "java.net.useSystemProxies"; 416 417 /** 418 * The System property name {@value}. 419 * 420 * @see <a href= 421 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/AsynchronousChannelGroup.html#java.nio.channels.DefaultThreadPool.initialSize">java.nio.channels.DefaultThreadPool.initialSize</a> 422 * @since 3.15.0 423 */ 424 public static final String JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE = "java.nio.channels.DefaultThreadPool.initialSize"; 425 426 /** 427 * The System property name {@value}. 428 * 429 * @see <a href= 430 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/AsynchronousChannelGroup.html#java.nio.channels.DefaultThreadPool.threadFactory">java.nio.channels.DefaultThreadPool.threadFactory</a> 431 * @since 3.15.0 432 */ 433 public static final String JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY = "java.nio.channels.DefaultThreadPool.threadFactory"; 434 435 /** 436 * The System property name {@value}. 437 * 438 * @see <a href= 439 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/AsynchronousChannelGroup.html#java.nio.channels.DefaultThreadPool.initialSize">java.nio.channels.DefaultThreadPool.initialSize</a> 440 * @since 3.15.0 441 */ 442 public static final String JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER = "java.nio.channels.spi.AsynchronousChannelProvider"; 443 444 /** 445 * The System property name {@value}. 446 * 447 * @see <a href= 448 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/channels/spi/SelectorProvider.html#java.nio.channels.spi.SelectorProvider">java.nio.channels.spi.SelectorProvider</a> 449 * @since 3.15.0 450 */ 451 public static final String JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER = "java.nio.channels.spi.SelectorProvider"; 452 453 /** 454 * The System property name {@value}. 455 * 456 * @see <a href= 457 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/file/spi/FileSystemProvider.html#java.nio.file.spi.DefaultFileSystemProvider">java.nio.file.spi.DefaultFileSystemProvider</a> 458 * @since 3.15.0 459 */ 460 public static final String JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER = "java.nio.file.spi.DefaultFileSystemProvider"; 461 462 /** 463 * The System property name {@value}. 464 * 465 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Properties.html#java.properties.date">java.properties.date</a> 466 * @since 3.15.0 467 */ 468 public static final String JAVA_PROPERTIES_DATE = "java.properties.date"; 469 470 /** 471 * The System property name {@value}. 472 * 473 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/URL.html#java.protocol.handler.pkgs">java.protocol.handler.pkgs</a> 474 * @since 3.15.0 475 */ 476 public static final String JAVA_PROTOCOL_HANDLER_PKGS = "java.protocol.handler.pkgs"; 477 478 /** 479 * The System property name {@value}. 480 * 481 * @see <a href= 482 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RMIClassLoader.html#java.rmi.server.codebase">java.rmi.server.codebase</a> 483 * @since 3.15.0 484 */ 485 public static final String JAVA_RMI_SERVER_CODEBASE = "java.rmi.server.codebase"; 486 487 /** 488 * The System property name {@value}. 489 * 490 * @see <a href= 491 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RMISocketFactory.html#java.rmi.server.hostname">java.rmi.server.hostname</a> 492 * @since 3.15.0 493 */ 494 public static final String JAVA_RMI_SERVER_HOST_NAME = "java.rmi.server.hostname"; 495 496 /** 497 * The System property name {@value}. 498 * 499 * @see <a href= 500 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/ObjID.html#java.rmi.server.randomIDs">java.rmi.server.randomIDs</a> 501 * @since 3.15.0 502 */ 503 public static final String JAVA_RMI_SERVER_RANDOM_IDS = "java.rmi.server.randomIDs"; 504 505 /** 506 * The System property name {@value}. 507 * 508 * @see <a href= 509 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RMIClassLoader.html#java.rmi.server.RMIClassLoaderSpi">java.rmi.server.RMIClassLoaderSpi</a> 510 * @since 3.15.0 511 */ 512 public static final String JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI = "java.rmi.server.RMIClassLoaderSpi"; 513 514 /** 515 * The System property name {@value}. 516 */ 517 public static final String JAVA_RUNTIME_NAME = "java.runtime.name"; 518 519 /** 520 * The System property name {@value}. 521 */ 522 public static final String JAVA_RUNTIME_VERSION = "java.runtime.version"; 523 524 /** 525 * The System property name {@value}. 526 * 527 * @see <a href= 528 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.security.auth/com/sun/security/auth/login/ConfigFile.html#java.security.auth.login.config">java.security.auth.login.config</a> 529 * @since 3.15.0 530 */ 531 public static final String JAVA_SECURITY_AUTH_LOGIN_CONFIG = "java.security.auth.login.config"; 532 533 /** 534 * The System property name {@value}. 535 * 536 * @see <a href= "https://docs.oracle.com/en/java/javase/24/docs/api/system-properties.html">java.security.krb5.conf</a> 537 * @see <a href= 538 * "https://docs.oracle.com/en/java/javase/24/docs/api/java.security.jgss/javax/security/auth/kerberos/package-summary.html#java.security.krb5.conf">package 539 * javax.security.auth.kerberos conf</a> 540 * @since 3.18.0 541 */ 542 public static final String JAVA_SECURITY_KERBEROS_CONF = "java.security.krb5.conf"; 543 544 /** 545 * The System property name {@value}. 546 * 547 * @see <a href= "https://docs.oracle.com/en/java/javase/24/docs/api/system-properties.html">java.security.krb5.kdc</a> 548 * @see <a href= 549 * "https://docs.oracle.com/en/java/javase/24/docs/api/java.security.jgss/javax/security/auth/kerberos/package-summary.html#java.security.krb5.kdc">package 550 * javax.security.auth.kerberos KDC</a> 551 * @since 3.18.0 552 */ 553 public static final String JAVA_SECURITY_KERBEROS_KDC = "java.security.krb5.kdc"; 554 555 /** 556 * The System property name {@value}. 557 * 558 * @see <a href= "https://docs.oracle.com/en/java/javase/24/docs/api/system-properties.html">java.security.krb5.realm</a> 559 * @see <a href= 560 * "https://docs.oracle.com/en/java/javase/24/docs/api/java.security.jgss/javax/security/auth/kerberos/package-summary.html#java.security.krb5.realm">package 561 * javax.security.auth.kerberos realm</a> 562 * @since 3.18.0 563 */ 564 public static final String JAVA_SECURITY_KERBEROS_REALM = "java.security.krb5.realm"; 565 566 /** 567 * The System property name {@value}. 568 * 569 * @see <a href= 570 * "https://docs.oracle.com/en/java/javase/24/security/troubleshooting-security.html">java.security.debug</a> 571 * @since 3.18.0 572 */ 573 public static final String JAVA_SECURITY_DEBUG = "java.security.debug"; 574 575 /** 576 * The System property name {@value}. 577 * 578 * @see <a href= 579 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/SecurityManager.html#java.security.manager">java.security.manager</a> 580 * @since 3.15.0 581 */ 582 public static final String JAVA_SECURITY_MANAGER = "java.security.manager"; 583 584 /** 585 * The System property name {@value}. 586 * 587 * @see <a href= 588 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/System.html#java.specification.maintenance.version">java.specification.maintenance.version</a> 589 * @since 3.15.0 590 */ 591 public static final String JAVA_SPECIFICATION_MAINTENANCE_VERSION = "java.specification.maintenance.version"; 592 593 /** 594 * The System property name {@value}. 595 */ 596 public static final String JAVA_SPECIFICATION_NAME = "java.specification.name"; 597 598 /** 599 * The System property name {@value}. 600 */ 601 public static final String JAVA_SPECIFICATION_VENDOR = "java.specification.vendor"; 602 603 /** 604 * The System property name {@value}. 605 */ 606 public static final String JAVA_SPECIFICATION_VERSION = "java.specification.version"; 607 608 /** 609 * The System property name {@value}. 610 * 611 * @see <a href= 612 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/ClassLoader.html#java.system.class.loader">java.system.class.loader</a> 613 * @since 3.15.0 614 */ 615 public static final String JAVA_SYSTEM_CLASS_LOADER = "java.system.class.loader"; 616 617 /** 618 * The System property name {@value}. 619 * 620 * @see <a href= 621 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/zone/ZoneRulesProvider.html#java.time.zone.DefaultZoneRulesProvider">java.time.zone.DefaultZoneRulesProvider</a> 622 * @since 3.15.0 623 */ 624 public static final String JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER = "java.time.zone.DefaultZoneRulesProvider"; 625 626 /** 627 * The System property name {@value}. 628 * 629 * @see <a href= 630 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ForkJoinPool.html#java.util.concurrent.ForkJoinPool.common.exceptionHandler">java.util.concurrent.ForkJoinPool.common.exceptionHandler</a> 631 * @since 3.15.0 632 */ 633 public static final String JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER = "java.util.concurrent.ForkJoinPool.common.exceptionHandler"; 634 635 /** 636 * The System property name {@value}. 637 * 638 * @see <a href= 639 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ForkJoinPool.html#java.util.concurrent.ForkJoinPool.common.maximumSpares">java.util.concurrent.ForkJoinPool.common.maximumSpares</a> 640 * @since 3.15.0 641 */ 642 public static final String JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES = "java.util.concurrent.ForkJoinPool.common.maximumSpares"; 643 644 /** 645 * The System property name {@value}. 646 * 647 * @see <a href= 648 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ForkJoinPool.html#java.util.concurrent.ForkJoinPool.common.parallelism">java.util.concurrent.ForkJoinPool.common.parallelism</a> 649 * @since 3.15.0 650 */ 651 public static final String JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM = "java.util.concurrent.ForkJoinPool.common.parallelism"; 652 653 /** 654 * The System property name {@value}. 655 * 656 * @see <a href= 657 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/ForkJoinPool.html#java.util.concurrent.ForkJoinPool.common.threadFactory">java.util.concurrent.ForkJoinPool.common.threadFactory</a> 658 * @since 3.15.0 659 */ 660 public static final String JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY = "java.util.concurrent.ForkJoinPool.common.threadFactory"; 661 662 /** 663 * The System property name {@value}. 664 * 665 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Currency.html#java.util.currency.data">java.util.currency.data</a> 666 * @since 3.15.0 667 */ 668 public static final String JAVA_UTIL_CURRENCY_DATA = "java.util.currency.data"; 669 670 /** 671 * The System property name {@value}. 672 * 673 * @see <a href= 674 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.logging/java/util/logging/LogManager.html#java.util.logging.config.class">java.util.logging.config.class</a> 675 * @since 3.15.0 676 */ 677 public static final String JAVA_UTIL_LOGGING_CONFIG_CLASS = "java.util.logging.config.class"; 678 679 /** 680 * The System property name {@value}. 681 * 682 * @see <a href= 683 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.logging/java/util/logging/LogManager.html#java.util.logging.config.file">java.util.logging.config.file</a> 684 * @since 3.15.0 685 */ 686 public static final String JAVA_UTIL_LOGGING_CONFIG_FILE = "java.util.logging.config.file"; 687 688 /** 689 * The System property name {@value}. 690 * 691 * @see <a href= 692 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.logging/java/util/logging/SimpleFormatter.html#java.util.logging.SimpleFormatter.format">java.util.logging.SimpleFormatter.format</a> 693 * @since 3.15.0 694 */ 695 public static final String JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT = "java.util.logging.simpleformatter.format"; 696 697 /** 698 * The System property name {@value}. 699 * 700 * @see <a href= 701 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.prefs/java/util/prefs/Preferences.html#java.util.prefs.PreferencesFactory">java.util.prefs.PreferencesFactory</a> 702 */ 703 public static final String JAVA_UTIL_PREFS_PREFERENCES_FACTORY = "java.util.prefs.PreferencesFactory"; 704 705 /** 706 * The System property name {@value}. 707 * 708 * @see <a href= 709 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/PropertyResourceBundle.html#java.util.PropertyResourceBundle.encoding">java.util.PropertyResourceBundle.encoding</a> 710 * @since 3.15.0 711 */ 712 public static final String JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING = "java.util.PropertyResourceBundle.encoding"; 713 714 /** 715 * The System property name {@value}. 716 */ 717 public static final String JAVA_VENDOR = "java.vendor"; 718 719 /** 720 * The System property name {@value}. 721 */ 722 public static final String JAVA_VENDOR_URL = "java.vendor.url"; 723 724 /** 725 * The System property name {@value}. 726 * 727 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/System.html#java.vendor.version">java.vendor.version</a> 728 * @since 3.15.0 729 */ 730 public static final String JAVA_VENDOR_VERSION = "java.vendor.version"; 731 732 /** 733 * The System property name {@value}. 734 */ 735 public static final String JAVA_VERSION = "java.version"; 736 737 /** 738 * The System property name {@value}. 739 * 740 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/System.html#java.version.date">java.version.date</a> 741 * @since 3.15.0 742 */ 743 public static final String JAVA_VERSION_DATE = "java.version.date"; 744 745 /** 746 * The System property name {@value}. 747 */ 748 public static final String JAVA_VM_INFO = "java.vm.info"; 749 750 /** 751 * The System property name {@value}. 752 */ 753 public static final String JAVA_VM_NAME = "java.vm.name"; 754 755 /** 756 * The System property name {@value}. 757 */ 758 public static final String JAVA_VM_SPECIFICATION_NAME = "java.vm.specification.name"; 759 760 /** 761 * The System property name {@value}. 762 */ 763 public static final String JAVA_VM_SPECIFICATION_VENDOR = "java.vm.specification.vendor"; 764 765 /** 766 * The System property name {@value}. 767 */ 768 public static final String JAVA_VM_SPECIFICATION_VERSION = "java.vm.specification.version"; 769 770 /** 771 * The System property name {@value}. 772 */ 773 public static final String JAVA_VM_VENDOR = "java.vm.vendor"; 774 775 /** 776 * The System property name {@value}. 777 */ 778 public static final String JAVA_VM_VERSION = "java.vm.version"; 779 780 /** 781 * The System property name {@value}. 782 * 783 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/module-summary.html#java.xml.config.file">java.xml</a> 784 * @since 3.15.0 785 */ 786 public static final String JAVA_XML_CONFIG_FILE = "java.xml.config.file"; 787 788 /** 789 * The System property name {@value}. 790 * 791 * @see <a href= 792 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/Toolkit.html#javax.accessibility.assistive_technologies">javax.accessibility.assistive_technologies</a> 793 * @since 3.15.0 794 */ 795 public static final String JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES = "javax.accessibility.assistive_technologies"; 796 797 /** 798 * The System property name {@value}. 799 * 800 * @see <a href= 801 * "https://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/net/ssl/SSLSessionContext.html#javax.net.ssl.sessionCacheSize">javax.net.ssl.sessionCacheSize</a> 802 * @since 3.15.0 803 */ 804 public static final String JAVAX_NET_SSL_SESSION_CACHE_SIZE = "javax.net.ssl.sessionCacheSize"; 805 806 /** 807 * The System property name {@value}. 808 * 809 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/javax/rmi/ssl/SslRMIClientSocketFactory.html#javax.rmi.ssl.client.enabledCipherSuites">javax.rmi.ssl.client.enabledCipherSuites</a> 810 * @since 3.15.0 811 */ 812 public static final String JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES = "javax.rmi.ssl.client.enabledCipherSuites"; 813 814 /** 815 * The System property name {@value}. 816 * 817 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/javax/rmi/ssl/SslRMIClientSocketFactory.html#javax.rmi.ssl.client.enabledProtocols">javax.rmi.ssl.client.enabledProtocols</a> 818 * @since 3.15.0 819 */ 820 public static final String JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS = "javax.rmi.ssl.client.enabledProtocols"; 821 822 /** 823 * The System property name {@value}. 824 * 825 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/org/ietf/jgss/package-summary.html#javax.security.auth.useSubjectCredsOnly">javax.security.auth.useSubjectCredsOnly</a> 826 * @since 3.15.0 827 */ 828 public static final String JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY = "javax.security.auth.useSubjectCredsOnly"; 829 830 /** 831 * The System property name {@value}. 832 * 833 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.smartcardio/javax/smartcardio/TerminalFactory.html#javax.smartcardio.TerminalFactory.DefaultType">javax.smartcardio.TerminalFactory.DefaultType</a> 834 * @since 3.15.0 835 */ 836 public static final String JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE = "javax.smartcardio.TerminalFactory.DefaultType"; 837 838 /** 839 * The System property name {@value}. 840 * 841 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/DriverManager.html#jdbc.drivers">jdbc.drivers</a> 842 * @since 3.15.0 843 */ 844 public static final String JDBC_DRIVERS = "jdbc.drivers"; 845 846 /** 847 * The System property name {@value}. 848 * 849 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.http.auth.proxying.disabledSchemes</a> 850 * @since 3.15.0 851 */ 852 public static final String JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES = "jdk.http.auth.proxying.disabledSchemes"; 853 854 /** 855 * The System property name {@value}. 856 * 857 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.http.auth.tunneling.disabledSchemes</a> 858 * @since 3.15.0 859 */ 860 public static final String JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES = "jdk.http.auth.tunneling.disabledSchemes"; 861 862 /** 863 * The System property name {@value}. 864 * 865 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.allowRestrictedHeaders</a> 866 * @since 3.15.0 867 */ 868 public static final String JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS = "jdk.httpclient.allowRestrictedHeaders"; 869 870 /** 871 * The System property name {@value}. 872 * 873 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.auth.retrylimit</a> 874 * @since 3.15.0 875 */ 876 public static final String JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT = "jdk.httpclient.auth.retrylimit"; 877 878 /** 879 * The System property name {@value}. 880 * 881 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.bufsize</a> 882 * @since 3.15.0 883 */ 884 public static final String JDK_HTTP_CLIENT_BUF_SIZE = "jdk.httpclient.bufsize"; 885 886 /** 887 * The System property name {@value}. 888 * 889 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.connectionPoolSize</a> 890 * @since 3.15.0 891 */ 892 public static final String JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE = "jdk.httpclient.connectionPoolSize"; 893 894 /** 895 * The System property name {@value}. 896 * 897 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.connectionWindowSize</a> 898 * @since 3.15.0 899 */ 900 public static final String JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE = "jdk.httpclient.connectionWindowSize"; 901 902 /** 903 * The System property name {@value}. 904 * 905 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.disableRetryConnect</a> 906 * @since 3.15.0 907 */ 908 public static final String JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT = "jdk.httpclient.disableRetryConnect"; 909 910 /** 911 * The System property name {@value}. 912 * 913 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.enableAllMethodRetry</a> 914 * @since 3.15.0 915 */ 916 public static final String JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY = "jdk.httpclient.enableAllMethodRetry"; 917 918 /** 919 * The System property name {@value}. 920 * 921 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.enablepush</a> 922 * @since 3.15.0 923 */ 924 public static final String JDK_HTTP_CLIENT_ENABLE_PUSH = "jdk.httpclient.enablepush"; 925 926 /** 927 * The System property name {@value}. 928 * 929 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.hpack.maxheadertablesize</a> 930 * @since 3.15.0 931 */ 932 public static final String JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE = "jdk.httpclient.hpack.maxheadertablesize"; 933 934 /** 935 * The System property name {@value}. 936 * 937 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.HttpClient.log</a> 938 * @since 3.15.0 939 */ 940 public static final String JDK_HTTP_CLIENT_HTTP_CLIENT_LOG = "jdk.httpclient.HttpClient.log"; 941 942 /** 943 * The System property name {@value}. 944 * 945 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.keepalive.timeout</a> 946 * @since 3.15.0 947 */ 948 public static final String JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT = "jdk.httpclient.keepalive.timeout"; 949 950 /** 951 * The System property name {@value}. 952 * 953 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.keepalive.timeout.h2</a> 954 * @since 3.15.0 955 */ 956 public static final String JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2 = "jdk.httpclient.keepalive.timeout.h2"; 957 958 /** 959 * The System property name {@value}. 960 * 961 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.maxframesize</a> 962 * @since 3.15.0 963 */ 964 public static final String JDK_HTTP_CLIENT_MAX_FRAME_SIZE = "jdk.httpclient.maxframesize"; 965 966 /** 967 * The System property name {@value}. 968 * 969 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.maxstreams</a> 970 * @since 3.15.0 971 */ 972 public static final String JDK_HTTP_CLIENT_MAX_STREAMS = "jdk.httpclient.maxstreams"; 973 974 /** 975 * The System property name {@value}. 976 * 977 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.receiveBufferSize</a> 978 * @since 3.15.0 979 */ 980 public static final String JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE = "jdk.httpclient.receiveBufferSize"; 981 982 /** 983 * The System property name {@value}. 984 * 985 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.redirects.retrylimit</a> 986 * @since 3.15.0 987 */ 988 public static final String JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT = "jdk.httpclient.redirects.retrylimit"; 989 990 /** 991 * The System property name {@value}. 992 * 993 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.sendBufferSize</a> 994 * @since 3.15.0 995 */ 996 public static final String JDK_HTTP_CLIENT_SEND_BUFFER_SIZE = "jdk.httpclient.sendBufferSize"; 997 998 /** 999 * The System property name {@value}. 1000 * 1001 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.websocket.writeBufferSize</a> 1002 * @since 3.15.0 1003 */ 1004 public static final String JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE = "jdk.httpclient.websocket.writeBufferSize"; 1005 1006 /** 1007 * The System property name {@value}. 1008 * 1009 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpclient.windowsize</a> 1010 * @since 3.15.0 1011 */ 1012 public static final String JDK_HTTP_CLIENT_WINDOW_SIZE = "jdk.httpclient.windowsize"; 1013 1014 /** 1015 * The System property name {@value}. 1016 * 1017 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.httpserver.maxConnections</a> 1018 * @since 3.15.0 1019 */ 1020 public static final String JDK_HTTP_SERVER_MAX_CONNECTIONS = "jdk.httpserver.maxConnections"; 1021 1022 /** 1023 * The System property name {@value}. 1024 * 1025 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.https.negotiate.cbt</a> 1026 * @since 3.15.0 1027 */ 1028 public static final String JDK_HTTPS_NEGOTIATE_CBT = "jdk.https.negotiate.cbt"; 1029 1030 /** 1031 * The System property name {@value}. 1032 * 1033 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.includeInExceptions</a> 1034 * @since 3.15.0 1035 */ 1036 public static final String JDK_INCLUDE_IN_EXCEPTIONS = "jdk.includeInExceptions"; 1037 1038 /** 1039 * The System property name {@value}. 1040 * 1041 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.internal.httpclient.disableHostnameVerification</a> 1042 * @since 3.15.0 1043 */ 1044 public static final String JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION = "jdk.internal.httpclient.disableHostnameVerification"; 1045 1046 /** 1047 * The System property name {@value}. 1048 * 1049 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.io.permissionsUseCanonicalPath</a> 1050 * @since 3.15.0 1051 */ 1052 public static final String JDK_IO_PERMISSIONS_USE_CANONICAL_PATH = "jdk.io.permissionsUseCanonicalPath"; 1053 1054 /** 1055 * The System property name {@value}. 1056 * 1057 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.jndi.ldap.object.factoriesFilter</a> 1058 * @since 3.15.0 1059 */ 1060 public static final String JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER = "jdk.jndi.ldap.object.factoriesFilter"; 1061 1062 /** 1063 * The System property name {@value}. 1064 * 1065 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.jndi.object.factoriesFilter</a> 1066 * @since 3.15.0 1067 */ 1068 public static final String JDK_JNDI_OBJECT_FACTORIES_FILTER = "jdk.jndi.object.factoriesFilter"; 1069 1070 /** 1071 * The System property name {@value}. 1072 * 1073 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.jndi.rmi.object.factoriesFilter</a> 1074 * @since 3.15.0 1075 */ 1076 public static final String JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER = "jdk.jndi.rmi.object.factoriesFilter"; 1077 1078 /** 1079 * The System property name {@value}. 1080 * 1081 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.module.main</a> 1082 * @since 3.15.0 1083 */ 1084 public static final String JDK_MODULE_MAIN = "jdk.module.main"; 1085 1086 /** 1087 * The System property name {@value}. 1088 * 1089 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.module.main.class</a> 1090 * @since 3.15.0 1091 */ 1092 public static final String JDK_MODULE_MAIN_CLASS = "jdk.module.main.class"; 1093 1094 /** 1095 * The System property name {@value}. 1096 * 1097 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.module.path</a> 1098 * @since 3.15.0 1099 */ 1100 public static final String JDK_MODULE_PATH = "jdk.module.path"; 1101 1102 /** 1103 * The System property name {@value}. 1104 * 1105 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.module.upgrade.path</a> 1106 * @since 3.15.0 1107 */ 1108 public static final String JDK_MODULE_UPGRADE_PATH = "jdk.module.upgrade.path"; 1109 1110 /** 1111 * The System property name {@value}. 1112 * 1113 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.net.unixdomain.tmpdir</a> 1114 * @since 3.15.0 1115 */ 1116 public static final String JDK_NET_UNIX_DOMAIN_TMPDIR = "jdk.net.unixdomain.tmpdir"; 1117 1118 /** 1119 * The System property name {@value}. 1120 * 1121 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1122 * @since 3.15.0 1123 */ 1124 public static final String JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES = "jdk.net.URLClassPath.showIgnoredClassPathEntries"; 1125 1126 /** 1127 * The System property name {@value}. 1128 * 1129 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.serialFilter</a> 1130 * @since 3.15.0 1131 */ 1132 public static final String JDK_SERIAL_FILTER = "jdk.serialFilter"; 1133 1134 /** 1135 * The System property name {@value}. 1136 * 1137 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.serialFilterFactory</a> 1138 * @since 3.15.0 1139 */ 1140 public static final String JDK_SERIAL_FILTER_FACTORY = "jdk.serialFilterFactory"; 1141 1142 /** 1143 * The System property name {@value}. 1144 * 1145 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.tls.client.SignatureSchemes</a> 1146 * @since 3.15.0 1147 */ 1148 public static final String JDK_TLS_CLIENT_SIGNATURE_SCHEMES = "jdk.tls.client.SignatureSchemes"; 1149 1150 /** 1151 * The System property name {@value}. 1152 * 1153 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.tls.namedGroups</a> 1154 * @since 3.15.0 1155 */ 1156 public static final String JDK_TLS_NAMED_GROUPS = "jdk.tls.namedGroups"; 1157 1158 /** 1159 * The System property name {@value}. 1160 * 1161 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.tls.server.SignatureSchemes</a> 1162 * @since 3.15.0 1163 */ 1164 public static final String JDK_TLS_SERVER_SIGNATURE_SCHEMES = "jdk.tls.server.SignatureSchemes"; 1165 1166 /** 1167 * The System property name {@value}. 1168 * 1169 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.virtualThreadScheduler.maxPoolSize</a> 1170 * @since 3.15.0 1171 */ 1172 public static final String JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE = "jdk.virtualThreadScheduler.maxPoolSize"; 1173 1174 /** 1175 * The System property name {@value}. 1176 * 1177 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.virtualThreadScheduler.parallelism</a> 1178 * @since 3.15.0 1179 */ 1180 public static final String JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM = "jdk.virtualThreadScheduler.parallelism"; 1181 1182 /** 1183 * The System property name {@value}. 1184 * 1185 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.cdataChunkSize</a> 1186 * @since 3.15.0 1187 */ 1188 public static final String JDK_XML_CDATA_CHUNK_SIZE = "jdk.xml.cdataChunkSize"; 1189 1190 /** 1191 * The System property name {@value}. 1192 * 1193 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.dtd.support</a> 1194 * @since 3.15.0 1195 */ 1196 public static final String JDK_XML_DTD_SUPPORT = "jdk.xml.dtd.support"; 1197 1198 /** 1199 * The System property name {@value}. 1200 * 1201 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.elementAttributeLimit</a> 1202 * @since 3.15.0 1203 */ 1204 public static final String JDK_XML_ELEMENT_ATTRIBUTE_LIMIT = "jdk.xml.elementAttributeLimit"; 1205 1206 /** 1207 * The System property name {@value}. 1208 * 1209 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.enableExtensionFunctions</a> 1210 * @since 3.15.0 1211 */ 1212 public static final String JDK_XML_ENABLE_EXTENSION_FUNCTIONS = "jdk.xml.enableExtensionFunctions"; 1213 1214 /** 1215 * The System property name {@value}. 1216 * 1217 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.entityExpansionLimit</a> 1218 * @since 3.15.0 1219 */ 1220 public static final String JDK_XML_ENTITY_EXPANSION_LIMIT = "jdk.xml.entityExpansionLimit"; 1221 1222 /** 1223 * The System property name {@value}. 1224 * 1225 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.entityReplacementLimi_t</a> 1226 * @since 3.15.0 1227 */ 1228 public static final String JDK_XML_ENTITY_REPLACEMENT_LIMIT = "jdk.xml.entityReplacementLimi_t"; 1229 1230 /** 1231 * The System property name {@value}. 1232 * 1233 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.isStandalone</a> 1234 * @since 3.15.0 1235 */ 1236 public static final String JDK_XML_IS_STANDALONE = "jdk.xml.isStandalone"; 1237 1238 /** 1239 * The System property name {@value}. 1240 * 1241 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.jdkcatalog.resolve</a> 1242 * @since 3.15.0 1243 */ 1244 public static final String JDK_XML_JDK_CATALOG_RESOLVE = "jdk.xml.jdkcatalog.resolve"; 1245 1246 /** 1247 * The System property name {@value}. 1248 * 1249 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.maxElementDepth</a> 1250 * @since 3.15.0 1251 */ 1252 public static final String JDK_XML_MAX_ELEMENT_DEPTH = "jdk.xml.maxElementDepth"; 1253 1254 /** 1255 * The System property name {@value}. 1256 * 1257 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.maxGeneralEntitySizeLimit</a> 1258 * @since 3.15.0 1259 */ 1260 public static final String JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT = "jdk.xml.maxGeneralEntitySizeLimit"; 1261 1262 /** 1263 * The System property name {@value}. 1264 * 1265 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.maxOccurLimit</a> 1266 * @since 3.15.0 1267 */ 1268 public static final String JDK_XML_MAX_OCCUR_LIMIT = "jdk.xml.maxOccurLimit"; 1269 1270 /** 1271 * The System property name {@value}. 1272 * 1273 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.maxParameterEntitySizeLimit</a> 1274 * @since 3.15.0 1275 */ 1276 public static final String JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT = "jdk.xml.maxParameterEntitySizeLimit"; 1277 1278 /** 1279 * The System property name {@value}. 1280 * 1281 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.maxXMLNameLimit</a> 1282 * @since 3.15.0 1283 */ 1284 public static final String JDK_XML_MAX_XML_NAME_LIMIT = "jdk.xml.maxXMLNameLimit"; 1285 1286 /** 1287 * The System property name {@value}. 1288 * 1289 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.overrideDefaultParser</a> 1290 * @since 3.15.0 1291 */ 1292 public static final String JDK_XML_OVERRIDE_DEFAULT_PARSER = "jdk.xml.overrideDefaultParser"; 1293 1294 /** 1295 * The System property name {@value}. 1296 * 1297 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.resetSymbolTable</a> 1298 * @since 3.15.0 1299 */ 1300 public static final String JDK_XML_RESET_SYMBOL_TABLE = "jdk.xml.resetSymbolTable"; 1301 1302 /** 1303 * The System property name {@value}. 1304 * 1305 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.totalEntitySizeLimit</a> 1306 * @since 3.15.0 1307 */ 1308 public static final String JDK_XML_TOTAL_ENTITY_SIZE_LIMIT = "jdk.xml.totalEntitySizeLimit"; 1309 1310 /** 1311 * The System property name {@value}. 1312 * 1313 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">jdk.xml.xsltcIsStandalone</a> 1314 * @since 3.15.0 1315 */ 1316 public static final String JDK_XML_XSLTC_IS_STANDALONE = "jdk.xml.xsltcIsStandalone"; 1317 1318 /** 1319 * The System property name {@value}. 1320 */ 1321 public static final String LINE_SEPARATOR = "line.separator"; 1322 1323 /** 1324 * The System property name {@value}. 1325 * 1326 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">native.encoding</a> 1327 * @since 3.15.0 1328 */ 1329 public static final String NATIVE_ENCODING = "native.encoding"; 1330 1331 /** 1332 * The System property name {@value}. 1333 * 1334 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">networkaddress.cache.negative.ttl</a> 1335 * @since 3.15.0 1336 */ 1337 public static final String NETWORK_ADDRESS_CACHE_NEGATIVE_TTL = "networkaddress.cache.negative.ttl"; 1338 1339 /** 1340 * The System property name {@value}. 1341 * 1342 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">networkaddress.cache.stale.ttl</a> 1343 * @since 3.15.0 1344 */ 1345 public static final String NETWORK_ADDRESS_CACHE_STALE_TTL = "networkaddress.cache.stale.ttl"; 1346 1347 /** 1348 * The System property name {@value}. 1349 * 1350 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">networkaddress.cache.ttl</a> 1351 * @since 3.15.0 1352 */ 1353 public static final String NETWORK_ADDRESS_CACHE_TTL = "networkaddress.cache.ttl"; 1354 1355 /** 1356 * The System property name {@value}. 1357 * 1358 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">org.jcp.xml.dsig.securevalidation</a> 1359 * @since 3.15.0 1360 */ 1361 public static final String ORG_JCP_XML_DSIG_SECURE_VALIDATION = "org.jcp.xml.dsig.securevalidation"; 1362 1363 /** 1364 * The System property name {@value}. 1365 * 1366 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">org.openjdk.java.util.stream.tripwire</a> 1367 * @since 3.15.0 1368 */ 1369 public static final String ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE = "org.openjdk.java.util.stream.tripwire"; 1370 1371 /** 1372 * The System property name {@value}. 1373 */ 1374 public static final String OS_ARCH = "os.arch"; 1375 1376 /** 1377 * The System property name {@value}. 1378 */ 1379 public static final String OS_NAME = "os.name"; 1380 1381 /** 1382 * The System property name {@value}. 1383 */ 1384 public static final String OS_VERSION = "os.version"; 1385 1386 /** 1387 * The System property name {@value}. 1388 */ 1389 public static final String PATH_SEPARATOR = "path.separator"; 1390 1391 /** 1392 * The System property name {@value}. 1393 * 1394 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1395 * @since 3.15.0 1396 */ 1397 public static final String SOCKS_PROXY_HOST = "socksProxyHost"; 1398 1399 /** 1400 * The System property name {@value}. 1401 * 1402 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1403 * @since 3.15.0 1404 */ 1405 public static final String SOCKS_PROXY_PORT = "socksProxyPort"; 1406 1407 /** 1408 * The System property name {@value}. 1409 * 1410 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1411 * @since 3.15.0 1412 */ 1413 public static final String SOCKS_PROXY_VERSION = "socksProxyVersion"; 1414 1415 /** 1416 * The System property name {@value}. 1417 * 1418 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1419 * @since 3.15.0 1420 */ 1421 public static final String STDERR_ENCODING = "stderr.encoding"; 1422 1423 /** 1424 * The System property name {@value}. 1425 * 1426 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1427 * @since 3.15.0 1428 */ 1429 public static final String STDOUT_ENCODING = "stdout.encoding"; 1430 1431 /** 1432 * The System property name {@value}. 1433 * 1434 * @see <a href= 1435 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.drainAmount">sun.net.httpserver.drainAmount</a> 1436 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1437 * @since 3.15.0 1438 */ 1439 public static final String SUN_NET_HTTP_SERVER_DRAIN_AMOUNT = "sun.net.httpserver.drainAmount"; 1440 1441 /** 1442 * The System property name {@value}. 1443 * 1444 * @see <a href= 1445 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.idleInterval">sun.net.httpserver.idleInterval</a> 1446 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1447 * @since 3.15.0 1448 */ 1449 public static final String SUN_NET_HTTP_SERVER_IDLE_INTERVAL = "sun.net.httpserver.idleInterval"; 1450 1451 /** 1452 * The System property name {@value}. 1453 * 1454 * @see <a href= 1455 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.maxIdleConnections">sun.net.httpserver.maxIdleConnections</a> 1456 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1457 * @since 3.15.0 1458 */ 1459 public static final String SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS = "sun.net.httpserver.maxIdleConnections"; 1460 1461 /** 1462 * The System property name {@value}. 1463 * 1464 * @see <a href= 1465 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.maxReqHeaders">sun.net.httpserver.maxReqHeaders</a> 1466 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1467 * @since 3.15.0 1468 */ 1469 public static final String SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS = "sun.net.httpserver.maxReqHeaders"; 1470 1471 /** 1472 * The System property name {@value}. 1473 * 1474 * @see <a href= 1475 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.maxReqTime">sun.net.httpserver.maxReqTime</a> 1476 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1477 * @since 3.15.0 1478 */ 1479 public static final String SUN_NET_HTTP_SERVER_MAX_REQ_TIME = "sun.net.httpserver.maxReqTime"; 1480 1481 /** 1482 * The System property name {@value}. 1483 * 1484 * @see <a href= 1485 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.maxRspTime">sun.net.httpserver.maxRspTime</a> 1486 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1487 * @since 3.15.0 1488 */ 1489 public static final String SUN_NET_HTTP_SERVER_MAX_RSP_TIME = "sun.net.httpserver.maxRspTime"; 1490 1491 /** 1492 * The System property name {@value}. 1493 * 1494 * @see <a href= 1495 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.net.httpserver.nodelay">sun.net.httpserver.nodelay</a> 1496 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1497 * @since 3.15.0 1498 */ 1499 public static final String SUN_NET_HTTP_SERVER_NO_DELAY = "sun.net.httpserver.nodelay"; 1500 1501 /** 1502 * The System property name {@value}. 1503 * 1504 * @see <a href= 1505 * "https://docs.oracle.com/en/java/javase/25/docs/api/jdk.httpserver/module-summary.html#sun.security.krb5.principal">sun.security.krb5.principal</a> 1506 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1507 * @since 3.15.0 1508 */ 1509 public static final String SUN_SECURITY_KRB5_PRINCIPAL = "sun.security.krb5.principal"; 1510 1511 /** 1512 * The System property name {@value}. 1513 */ 1514 public static final String USER_COUNTRY = "user.country"; 1515 1516 /** 1517 * The System property name {@value}. 1518 */ 1519 public static final String USER_DIR = "user.dir"; 1520 1521 /** 1522 * The System property name {@value}. 1523 * 1524 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1525 * @since 3.15.0 1526 */ 1527 public static final String USER_EXTENSIONS = "user.extensions"; 1528 1529 /** 1530 * The System property name {@value}. 1531 */ 1532 public static final String USER_HOME = "user.home"; 1533 1534 /** 1535 * The System property name {@value}. 1536 */ 1537 public static final String USER_LANGUAGE = "user.language"; 1538 1539 /** 1540 * The System property name {@value}. 1541 */ 1542 public static final String USER_NAME = "user.name"; 1543 1544 /** 1545 * The System property name {@value}. 1546 */ 1547 public static final String USER_REGION = "user.region"; 1548 1549 /** 1550 * The System property name {@value}. 1551 * 1552 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1553 * @since 3.15.0 1554 */ 1555 public static final String USER_SCRIPT = "user.script"; 1556 1557 /** 1558 * The System property name {@value}. 1559 */ 1560 public static final String USER_TIMEZONE = "user.timezone"; 1561 1562 /** 1563 * The System property name {@value}. 1564 * 1565 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1566 * @since 3.15.0 1567 */ 1568 public static final String USER_VARIANT = "user.variant"; 1569 1570 /** 1571 * Gets the current value from the system properties map. 1572 * <p> 1573 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1574 * </p> 1575 * 1576 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1577 * @since 3.15.0 1578 */ 1579 public static String getAppleAwtEnableTemplateImages() { 1580 return getProperty(APPLE_AWT_ENABLE_TEMPLATE_IMAGES); 1581 } 1582 1583 /** 1584 * Gets the current value from the system properties map. 1585 * <p> 1586 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1587 * </p> 1588 * 1589 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1590 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1591 * @see #AWT_TOOLKIT 1592 * @deprecated Deprecated without replacement. 1593 */ 1594 @Deprecated 1595 public static String getAwtToolkit() { 1596 return getProperty(AWT_TOOLKIT); 1597 } 1598 1599 /** 1600 * Gets the current value for the property named {@code "SimpleClassName.Key"} as a {@code boolean}. 1601 * <p> 1602 * If a {@link SecurityException} is caught, the return value is {@code null}. 1603 * </p> 1604 * 1605 * @param clazz The Class to use for the SimpleClassName. 1606 * @param key The subkey. 1607 * @param defaultIfAbsent The default value. 1608 * @return an int or defaultIfAbsent. 1609 * @see Class#getSimpleName() 1610 * @since 3.19.0 1611 */ 1612 public static boolean getBoolean(final Class<?> clazz, final String key, final BooleanSupplier defaultIfAbsent) { 1613 return getBoolean(toKey(clazz, key, true), defaultIfAbsent); 1614 } 1615 1616 /** 1617 * Gets the current value for the property named {@code key} as an {@code boolean}. 1618 * <p> 1619 * If a {@link SecurityException} is caught, the return value is {@code null}. 1620 * </p> 1621 * 1622 * @param key The key. 1623 * @param defaultIfAbsent The default value. 1624 * @return an {@code boolean} or defaultIfAbsent. 1625 */ 1626 public static boolean getBoolean(final String key, final BooleanSupplier defaultIfAbsent) { 1627 final String str = getProperty(key); 1628 return str == null ? defaultIfAbsent != null && defaultIfAbsent.getAsBoolean() : Boolean.parseBoolean(str); 1629 } 1630 1631 /** 1632 * Gets the current value from the system properties map. 1633 * <p> 1634 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1635 * </p> 1636 * 1637 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1638 * @since 3.15.0 1639 */ 1640 public static String getComSunJndiLdapObjectTrustSerialData() { 1641 return getProperty(COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA); 1642 } 1643 1644 /** 1645 * Gets the current value from the system properties map. 1646 * <p> 1647 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1648 * </p> 1649 * 1650 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1651 * @since 3.15.0 1652 */ 1653 public static String getComSunNetHttpServerHttpServerProvider() { 1654 return getProperty(COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER); 1655 } 1656 1657 /** 1658 * Gets the current value from the system properties map. 1659 * <p> 1660 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1661 * </p> 1662 * <p> 1663 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1664 * </p> 1665 * 1666 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1667 */ 1668 public static String getFileEncoding() { 1669 return getProperty(FILE_ENCODING); 1670 } 1671 1672 /** 1673 * Gets the current value from the system properties map. 1674 * <p> 1675 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1676 * </p> 1677 * 1678 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1679 */ 1680 public static String getFileSeparator() { 1681 return getProperty(FILE_SEPARATOR); 1682 } 1683 1684 /** 1685 * Gets the current value from the system properties map. 1686 * <p> 1687 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1688 * </p> 1689 * 1690 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1691 * @since 3.15.0 1692 */ 1693 public static String getFtpNonProxyHost() { 1694 return getProperty(FTP_NON_PROXY_HOST); 1695 } 1696 1697 /** 1698 * Gets the current value from the system properties map. 1699 * <p> 1700 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1701 * </p> 1702 * 1703 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1704 * @since 3.15.0 1705 */ 1706 public static String getFtpProxyHost() { 1707 return getProperty(FTP_PROXY_HOST); 1708 } 1709 1710 /** 1711 * Gets the current value from the system properties map. 1712 * <p> 1713 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1714 * </p> 1715 * 1716 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1717 * @since 3.15.0 1718 */ 1719 public static String getFtpProxyPort() { 1720 return getProperty(FTP_PROXY_PORT); 1721 } 1722 1723 /** 1724 * Gets the current value from the system properties map. 1725 * <p> 1726 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1727 * </p> 1728 * 1729 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1730 * @since 3.15.0 1731 */ 1732 public static String getHttpAgent() { 1733 return getProperty(HTTP_AGENT); 1734 } 1735 1736 /** 1737 * Gets the current value from the system properties map. 1738 * <p> 1739 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1740 * </p> 1741 * 1742 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1743 * @since 3.15.0 1744 */ 1745 public static String getHttpAuthDigestCnonceRepeat() { 1746 return getProperty(HTTP_AUTH_DIGEST_CNONCE_REPEAT); 1747 } 1748 1749 /** 1750 * Gets the current value from the system properties map. 1751 * <p> 1752 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1753 * </p> 1754 * 1755 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1756 * @since 3.15.0 1757 */ 1758 public static String getHttpAuthDigestReenabledAlgorithms() { 1759 return getProperty(HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS); 1760 } 1761 1762 /** 1763 * Gets the current value from the system properties map. 1764 * <p> 1765 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1766 * </p> 1767 * 1768 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1769 * @since 3.15.0 1770 */ 1771 public static String getHttpAuthDigestValidateProxy() { 1772 return getProperty(HTTP_AUTH_DIGEST_VALIDATE_PROXY); 1773 } 1774 1775 /** 1776 * Gets the current value from the system properties map. 1777 * <p> 1778 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1779 * </p> 1780 * 1781 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1782 * @since 3.15.0 1783 */ 1784 public static String getHttpAuthDigestValidateServer() { 1785 return getProperty(HTTP_AUTH_DIGEST_VALIDATE_SERVER); 1786 } 1787 1788 /** 1789 * Gets the current value from the system properties map. 1790 * <p> 1791 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1792 * </p> 1793 * 1794 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1795 * @since 3.15.0 1796 */ 1797 public static String getHttpAuthNtlmDomain() { 1798 return getProperty(HTTP_AUTH_NTLM_DOMAIN); 1799 } 1800 1801 /** 1802 * Gets the current value from the system properties map. 1803 * <p> 1804 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1805 * </p> 1806 * 1807 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1808 * @since 3.15.0 1809 */ 1810 public static String getHttpKeepAlive() { 1811 return getProperty(HTTP_KEEP_ALIVE); 1812 } 1813 1814 /** 1815 * Gets the current value from the system properties map. 1816 * <p> 1817 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1818 * </p> 1819 * 1820 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1821 * @since 3.15.0 1822 */ 1823 public static String getHttpKeepAliveTimeProxy() { 1824 return getProperty(HTTP_KEEP_ALIVE_TIME_PROXY); 1825 } 1826 1827 /** 1828 * Gets the current value from the system properties map. 1829 * <p> 1830 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1831 * </p> 1832 * 1833 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1834 * @since 3.15.0 1835 */ 1836 public static String getHttpKeepAliveTimeServer() { 1837 return getProperty(HTTP_KEEP_ALIVE_TIME_SERVER); 1838 } 1839 1840 /** 1841 * Gets the current value from the system properties map. 1842 * <p> 1843 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1844 * </p> 1845 * 1846 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1847 * @since 3.15.0 1848 */ 1849 public static String getHttpMaxConnections() { 1850 return getProperty(HTTP_MAX_CONNECTIONS); 1851 } 1852 1853 /** 1854 * Gets the current value from the system properties map. 1855 * <p> 1856 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1857 * </p> 1858 * 1859 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1860 * @since 3.15.0 1861 */ 1862 public static String getHttpMaxRedirects() { 1863 return getProperty(HTTP_MAX_REDIRECTS); 1864 } 1865 1866 /** 1867 * Gets the current value from the system properties map. 1868 * <p> 1869 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1870 * </p> 1871 * 1872 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1873 * @since 3.15.0 1874 */ 1875 public static String getHttpNonProxyHosts() { 1876 return getProperty(HTTP_NON_PROXY_HOSTS); 1877 } 1878 1879 /** 1880 * Gets the current value from the system properties map. 1881 * <p> 1882 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1883 * </p> 1884 * 1885 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1886 * @since 3.15.0 1887 */ 1888 public static String getHttpProxyHost() { 1889 return getProperty(HTTP_PROXY_HOST); 1890 } 1891 1892 /** 1893 * Gets the current value from the system properties map. 1894 * <p> 1895 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1896 * </p> 1897 * 1898 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1899 * @since 3.15.0 1900 */ 1901 public static String getHttpProxyPort() { 1902 return getProperty(HTTP_PROXY_PORT); 1903 } 1904 1905 /** 1906 * Gets the current value from the system properties map. 1907 * <p> 1908 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1909 * </p> 1910 * 1911 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1912 * @since 3.15.0 1913 */ 1914 public static String getHttpsProxyHost() { 1915 return getProperty(HTTPS_PROXY_HOST); 1916 } 1917 1918 /** 1919 * Gets the current value from the system properties map. 1920 * <p> 1921 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1922 * </p> 1923 * 1924 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1925 * @since 3.15.0 1926 */ 1927 public static String getHttpsProxyPort() { 1928 return getProperty(HTTPS_PROXY_PORT); 1929 } 1930 1931 /** 1932 * Gets the current value for the property named {@code "SimpleClassName.Key"} as an {@code int}. 1933 * <p> 1934 * If a {@link SecurityException} is caught, the return value is {@code null}. 1935 * </p> 1936 * 1937 * @param clazz The Class to use for the SimpleClassName. 1938 * @param key The subkey. 1939 * @param defaultIfAbsent The default value. 1940 * @return an int or defaultIfAbsent. 1941 * @see Class#getSimpleName() 1942 * @since 3.19.0 1943 */ 1944 public static int getInt(final Class<?> clazz, final String key, final IntSupplier defaultIfAbsent) { 1945 return getInt(toKey(clazz, key, true), defaultIfAbsent); 1946 } 1947 1948 /** 1949 * Gets the current value for the property named {@code key} as an {@code int}. 1950 * <p> 1951 * If a {@link SecurityException} is caught, the return value is {@code null}. 1952 * </p> 1953 * 1954 * @param key The key. 1955 * @param defaultIfAbsent The default value. 1956 * @return an {@code int} or defaultIfAbsent. 1957 */ 1958 public static int getInt(final String key, final IntSupplier defaultIfAbsent) { 1959 final String str = getProperty(key); 1960 return str == null ? defaultIfAbsent != null ? defaultIfAbsent.getAsInt() : 0 : Integer.parseInt(str); 1961 } 1962 1963 /** 1964 * Gets the current value from the system properties map. 1965 * <p> 1966 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1967 * </p> 1968 * 1969 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1970 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1971 * @see #JAVA_AWT_FONTS 1972 * @deprecated Deprecated without replacement. 1973 */ 1974 @Deprecated 1975 public static String getJavaAwtFonts() { 1976 return getProperty(JAVA_AWT_FONTS); 1977 } 1978 1979 /** 1980 * Gets the current value from the system properties map. 1981 * <p> 1982 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1983 * </p> 1984 * 1985 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 1986 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 1987 * @deprecated Deprecated without replacement. 1988 */ 1989 @Deprecated 1990 public static String getJavaAwtGraphicsenv() { 1991 return getProperty(JAVA_AWT_GRAPHICSENV); 1992 } 1993 1994 /** 1995 * Gets the current value from the system properties map. 1996 * <p> 1997 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 1998 * </p> 1999 * 2000 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2001 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 2002 * @see #JAVA_AWT_HEADLESS 2003 * @deprecated Deprecated without replacement. 2004 */ 2005 @Deprecated 2006 public static String getJavaAwtHeadless() { 2007 return getProperty(JAVA_AWT_HEADLESS); 2008 } 2009 2010 /** 2011 * Gets the current value from the system properties map. 2012 * <p> 2013 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2014 * </p> 2015 * 2016 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2017 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 2018 * @see #JAVA_AWT_PRINTERJOB 2019 * @deprecated Deprecated without replacement. 2020 */ 2021 @Deprecated 2022 public static String getJavaAwtPrinterjob() { 2023 return getProperty(JAVA_AWT_PRINTERJOB); 2024 } 2025 2026 /** 2027 * Gets the current value from the system properties map. 2028 * <p> 2029 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2030 * </p> 2031 * 2032 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2033 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">java.class.path</a> 2034 * @see #JAVA_CLASS_PATH 2035 */ 2036 public static String getJavaClassPath() { 2037 return getProperty(JAVA_CLASS_PATH); 2038 } 2039 2040 /** 2041 * Gets the current value from the system properties map. 2042 * <p> 2043 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2044 * </p> 2045 * 2046 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2047 */ 2048 public static String getJavaClassVersion() { 2049 return getProperty(JAVA_CLASS_VERSION); 2050 } 2051 2052 /** 2053 * Gets the current value from the system properties map. 2054 * <p> 2055 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2056 * </p> 2057 * 2058 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2059 * @see <a href="https://bugs.openjdk.org/browse/JDK-8305998">JDK-8305998</a> 2060 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 2061 * @deprecated Deprecated without replacement. 2062 */ 2063 @Deprecated 2064 public static String getJavaCompiler() { 2065 return getProperty(JAVA_COMPILER); 2066 } 2067 2068 /** 2069 * Gets the current value from the system properties map. 2070 * <p> 2071 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2072 * </p> 2073 * 2074 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2075 * @since 3.15.0 2076 */ 2077 public static String getJavaContentHandlerPkgs() { 2078 return getProperty(JAVA_CONTENT_HANDLER_PKGS); 2079 } 2080 2081 /** 2082 * Gets the current value from the system properties map. 2083 * <p> 2084 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2085 * </p> 2086 * 2087 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2088 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 2089 * @deprecated Deprecated without replacement. 2090 */ 2091 @Deprecated 2092 public static String getJavaEndorsedDirs() { 2093 return getProperty(JAVA_ENDORSED_DIRS); 2094 } 2095 2096 /** 2097 * Gets the current value from the system properties map. 2098 * <p> 2099 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2100 * </p> 2101 * 2102 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2103 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a> 2104 * @see #JAVA_EXT_DIRS 2105 * @deprecated Deprecated without replacement. 2106 */ 2107 @Deprecated 2108 public static String getJavaExtDirs() { 2109 return getProperty(JAVA_EXT_DIRS); 2110 } 2111 2112 /** 2113 * Gets the current value from the system properties map. 2114 * <p> 2115 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2116 * </p> 2117 * 2118 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2119 */ 2120 public static String getJavaHome() { 2121 return getProperty(JAVA_HOME); 2122 } 2123 2124 /** 2125 * Gets the current value from the system properties map. 2126 * <p> 2127 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2128 * </p> 2129 * 2130 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2131 */ 2132 public static String getJavaIoTmpdir() { 2133 return getProperty(JAVA_IO_TMPDIR); 2134 } 2135 2136 /** 2137 * Gets the current value from the system properties map. 2138 * <p> 2139 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2140 * </p> 2141 * 2142 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2143 */ 2144 public static String getJavaLibraryPath() { 2145 return getProperty(JAVA_LIBRARY_PATH); 2146 } 2147 2148 /** 2149 * Gets the current value from the system properties map. 2150 * <p> 2151 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2152 * </p> 2153 * <p> 2154 * Java 9 and above. 2155 * </p> 2156 * 2157 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2158 */ 2159 public static String getJavaLocaleProviders() { 2160 return getProperty(JAVA_LOCALE_PROVIDERS); 2161 } 2162 2163 /** 2164 * Gets the current value from the system properties map. 2165 * <p> 2166 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2167 * </p> 2168 * 2169 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2170 * @since 3.15.0 2171 */ 2172 public static String getJavaLocaleUseOldIsoCodes() { 2173 return getProperty(JAVA_LOCALE_USE_OLD_ISO_CODES); 2174 } 2175 2176 /** 2177 * Gets the current value from the system properties map. 2178 * <p> 2179 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2180 * </p> 2181 * 2182 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2183 * @since 3.15.0 2184 */ 2185 public static String getJavaNetPreferIpv4Stack() { 2186 return getProperty(JAVA_NET_PREFER_IPV4_STACK); 2187 } 2188 2189 /** 2190 * Gets the current value from the system properties map. 2191 * <p> 2192 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2193 * </p> 2194 * 2195 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2196 * @since 3.15.0 2197 */ 2198 public static String getJavaNetPreferIpv6Addresses() { 2199 return getProperty(JAVA_NET_PREFER_IPV6_ADDRESSES); 2200 } 2201 2202 /** 2203 * Gets the current value from the system properties map. 2204 * <p> 2205 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2206 * </p> 2207 * 2208 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2209 * @since 3.15.0 2210 */ 2211 public static String getJavaNetSocksPassword() { 2212 return getProperty(JAVA_NET_SOCKS_PASSWORD); 2213 } 2214 2215 /** 2216 * Gets the current value from the system properties map. 2217 * <p> 2218 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2219 * </p> 2220 * 2221 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2222 * @since 3.15.0 2223 */ 2224 public static String getJavaNetSocksUserName() { 2225 return getProperty(JAVA_NET_SOCKS_USER_NAME); 2226 } 2227 2228 /** 2229 * Gets the current value from the system properties map. 2230 * <p> 2231 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2232 * </p> 2233 * 2234 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2235 * @since 3.15.0 2236 */ 2237 public static String getJavaNetUseSystemProxies() { 2238 return getProperty(JAVA_NET_USE_SYSTEM_PROXIES); 2239 } 2240 2241 /** 2242 * Gets the current value from the system properties map. 2243 * <p> 2244 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2245 * </p> 2246 * 2247 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2248 * @since 3.15.0 2249 */ 2250 public static String getJavaNioChannelsDefaultThreadPoolInitialSize() { 2251 return getProperty(JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE); 2252 } 2253 2254 /** 2255 * Gets the current value from the system properties map. 2256 * <p> 2257 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2258 * </p> 2259 * 2260 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2261 * @since 3.15.0 2262 */ 2263 public static String getJavaNioChannelsDefaultThreadPoolThreadFactory() { 2264 return getProperty(JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY); 2265 } 2266 2267 /** 2268 * Gets the current value from the system properties map. 2269 * <p> 2270 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2271 * </p> 2272 * 2273 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2274 * @since 3.15.0 2275 */ 2276 public static String getJavaNioChannelsSpiAsynchronousChannelProvider() { 2277 return getProperty(JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER); 2278 } 2279 2280 /** 2281 * Gets the current value from the system properties map. 2282 * <p> 2283 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2284 * </p> 2285 * 2286 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2287 * @since 3.15.0 2288 */ 2289 public static String getJavaNioChannelsSpiSelectorProvider() { 2290 return getProperty(JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER); 2291 } 2292 2293 /** 2294 * Gets the current value from the system properties map. 2295 * <p> 2296 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2297 * </p> 2298 * 2299 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2300 * @since 3.15.0 2301 */ 2302 public static String getJavaNioFileSpiDefaultFileSystemProvider() { 2303 return getProperty(JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER); 2304 } 2305 2306 /** 2307 * Gets the current value from the system properties map. 2308 * <p> 2309 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2310 * </p> 2311 * 2312 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2313 * @since 3.15.0 2314 */ 2315 public static String getJavaPropertiesDate() { 2316 return getProperty(JAVA_PROPERTIES_DATE); 2317 } 2318 2319 /** 2320 * Gets the current value from the system properties map. 2321 * <p> 2322 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2323 * </p> 2324 * 2325 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2326 * @since 3.15.0 2327 */ 2328 public static String getJavaProtocolHandlerPkgs() { 2329 return getProperty(JAVA_PROTOCOL_HANDLER_PKGS); 2330 } 2331 2332 /** 2333 * Gets the current value from the system properties map. 2334 * <p> 2335 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2336 * </p> 2337 * 2338 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2339 * @since 3.15.0 2340 */ 2341 public static String getJavaRmiServerCodebase() { 2342 return getProperty(JAVA_RMI_SERVER_CODEBASE); 2343 } 2344 2345 /** 2346 * Gets the current value from the system properties map. 2347 * <p> 2348 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2349 * </p> 2350 * 2351 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2352 * @since 3.15.0 2353 */ 2354 public static String getJavaRmiServerHostName() { 2355 return getProperty(JAVA_RMI_SERVER_HOST_NAME); 2356 } 2357 2358 /** 2359 * Gets the current value from the system properties map. 2360 * <p> 2361 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2362 * </p> 2363 * 2364 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2365 * @since 3.15.0 2366 */ 2367 public static String getJavaRmiServerRandomIds() { 2368 return getProperty(JAVA_RMI_SERVER_RANDOM_IDS); 2369 } 2370 2371 /** 2372 * Gets the current value from the system properties map. 2373 * <p> 2374 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2375 * </p> 2376 * 2377 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2378 * @since 3.15.0 2379 */ 2380 public static String getJavaRmiServerRmiClassLoaderSpi() { 2381 return getProperty(JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI); 2382 } 2383 2384 /** 2385 * Gets the current value from the system properties map. 2386 * <p> 2387 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2388 * </p> 2389 * 2390 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2391 */ 2392 public static String getJavaRuntimeName() { 2393 return getProperty(JAVA_RUNTIME_NAME); 2394 } 2395 2396 /** 2397 * Gets the current value from the system properties map. 2398 * <p> 2399 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2400 * </p> 2401 * 2402 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2403 */ 2404 public static String getJavaRuntimeVersion() { 2405 return getProperty(JAVA_RUNTIME_VERSION); 2406 } 2407 2408 /** 2409 * Gets the current value from the system properties map. 2410 * <p> 2411 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2412 * </p> 2413 * 2414 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2415 * @since 3.15.0 2416 */ 2417 public static String getJavaSecurityAuthLoginConfig() { 2418 return getProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG); 2419 } 2420 2421 /** 2422 * Gets the current value from the system properties map. 2423 * <p> 2424 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2425 * </p> 2426 * 2427 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2428 * @since 3.15.0 2429 */ 2430 public static String getJavaSecurityManager() { 2431 return getProperty(JAVA_SECURITY_MANAGER); 2432 } 2433 2434 /** 2435 * Gets the current value from the system properties map. 2436 * <p> 2437 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2438 * </p> 2439 * 2440 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2441 * @since 3.15.0 2442 */ 2443 public static String getJavaSpecificationMaintenanceVersion() { 2444 return getProperty(JAVA_SPECIFICATION_MAINTENANCE_VERSION); 2445 } 2446 2447 /** 2448 * Gets the current value from the system properties map. 2449 * <p> 2450 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2451 * </p> 2452 * 2453 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2454 */ 2455 public static String getJavaSpecificationName() { 2456 return getProperty(JAVA_SPECIFICATION_NAME); 2457 } 2458 2459 /** 2460 * Gets the current value from the system properties map. 2461 * <p> 2462 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2463 * </p> 2464 * 2465 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2466 */ 2467 public static String getJavaSpecificationVendor() { 2468 return getProperty(JAVA_SPECIFICATION_VENDOR); 2469 } 2470 2471 /** 2472 * Gets the current value from the system properties map. 2473 * <p> 2474 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2475 * </p> 2476 * 2477 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2478 */ 2479 public static String getJavaSpecificationVersion() { 2480 return getProperty(JAVA_SPECIFICATION_VERSION); 2481 } 2482 2483 /** 2484 * Gets the current value from the system properties map for {@value #JAVA_SPECIFICATION_VERSION}. 2485 * <p> 2486 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2487 * </p> 2488 * 2489 * @param defaultValue get this Supplier when the property is empty or throws SecurityException. 2490 * @return The system property value or {@code defaultValue} if the property is absent or a security problem occurs. 2491 * @since 3.15.0 2492 */ 2493 public static String getJavaSpecificationVersion(final String defaultValue) { 2494 return getProperty(JAVA_SPECIFICATION_VERSION, defaultValue); 2495 } 2496 2497 /** 2498 * Gets the current value from the system properties map for {@value #JAVA_SYSTEM_CLASS_LOADER}. 2499 * <p> 2500 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2501 * </p> 2502 * 2503 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2504 * @since 3.15.0 2505 */ 2506 public static String getJavaSystemClassLoader() { 2507 return getProperty(JAVA_SYSTEM_CLASS_LOADER); 2508 } 2509 2510 /** 2511 * Gets the current value from the system properties map for {@value #JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER}. 2512 * <p> 2513 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2514 * </p> 2515 * 2516 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2517 * @since 3.15.0 2518 */ 2519 public static String getJavaTimeZoneDefaultZoneRulesProvider() { 2520 return getProperty(JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER); 2521 } 2522 2523 /** 2524 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER}. 2525 * <p> 2526 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2527 * </p> 2528 * 2529 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2530 * @since 3.15.0 2531 */ 2532 public static String getJavaUtilConcurrentForkJoinPoolCommonExceptionHandler() { 2533 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER); 2534 } 2535 2536 /** 2537 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES}. 2538 * <p> 2539 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2540 * </p> 2541 * 2542 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2543 * @since 3.15.0 2544 */ 2545 public static String getJavaUtilConcurrentForkJoinPoolCommonMaximumSpares() { 2546 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES); 2547 } 2548 2549 /** 2550 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM}. 2551 * <p> 2552 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2553 * </p> 2554 * 2555 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2556 * @since 3.15.0 2557 */ 2558 public static String getJavaUtilConcurrentForkJoinPoolCommonParallelism() { 2559 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM); 2560 } 2561 2562 /** 2563 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY}. 2564 * <p> 2565 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2566 * </p> 2567 * 2568 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2569 * @since 3.15.0 2570 */ 2571 public static String getJavaUtilConcurrentForkJoinPoolCommonThreadFactory() { 2572 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY); 2573 } 2574 2575 /** 2576 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CURRENCY_DATA}. 2577 * <p> 2578 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2579 * </p> 2580 * 2581 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2582 * @since 3.15.0 2583 */ 2584 public static String getJavaUtilCurrencyData() { 2585 return getProperty(JAVA_UTIL_CURRENCY_DATA); 2586 } 2587 2588 /** 2589 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_CONFIG_CLASS}. 2590 * <p> 2591 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2592 * </p> 2593 * 2594 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2595 * @since 3.15.0 2596 */ 2597 public static String getJavaUtilLoggingConfigClass() { 2598 return getProperty(JAVA_UTIL_LOGGING_CONFIG_CLASS); 2599 } 2600 2601 /** 2602 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_CONFIG_FILE}. 2603 * <p> 2604 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2605 * </p> 2606 * 2607 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2608 * @since 3.15.0 2609 */ 2610 public static String getJavaUtilLoggingConfigFile() { 2611 return getProperty(JAVA_UTIL_LOGGING_CONFIG_FILE); 2612 } 2613 2614 /** 2615 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT}. 2616 * <p> 2617 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2618 * </p> 2619 * 2620 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2621 * @since 3.15.0 2622 */ 2623 public static String getJavaUtilLoggingSimpleFormatterFormat() { 2624 return getProperty(JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT); 2625 } 2626 2627 /** 2628 * Gets the current value from the system properties map for {@value #JAVA_UTIL_PREFS_PREFERENCES_FACTORY}. 2629 * <p> 2630 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2631 * </p> 2632 * 2633 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2634 */ 2635 public static String getJavaUtilPrefsPreferencesFactory() { 2636 return getProperty(JAVA_UTIL_PREFS_PREFERENCES_FACTORY); 2637 } 2638 2639 /** 2640 * Gets the current value from the system properties map for {@value #JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING}. 2641 * <p> 2642 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2643 * </p> 2644 * 2645 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2646 * @since 3.15.0 2647 */ 2648 public static String getJavaUtilPropertyResourceBundleEncoding() { 2649 return getProperty(JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING); 2650 } 2651 2652 /** 2653 * Gets the current value from the system properties map for {@value #JAVA_VENDOR}. 2654 * <p> 2655 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2656 * </p> 2657 * 2658 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2659 */ 2660 public static String getJavaVendor() { 2661 return getProperty(JAVA_VENDOR); 2662 } 2663 2664 /** 2665 * Gets the current value from the system properties map for {@value #JAVA_VENDOR_URL}. 2666 * <p> 2667 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2668 * </p> 2669 * 2670 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2671 */ 2672 public static String getJavaVendorUrl() { 2673 return getProperty(JAVA_VENDOR_URL); 2674 } 2675 2676 /** 2677 * Gets the current value from the system properties map for {@value #JAVA_VENDOR_VERSION}. 2678 * <p> 2679 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2680 * </p> 2681 * 2682 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2683 * @since 3.15.0 2684 */ 2685 public static String getJavaVendorVersion() { 2686 return getProperty(JAVA_VENDOR_VERSION); 2687 } 2688 2689 /** 2690 * Gets the current value from the system properties map for {@value #JAVA_VERSION}. 2691 * <p> 2692 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2693 * </p> 2694 * 2695 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2696 */ 2697 public static String getJavaVersion() { 2698 return getProperty(JAVA_VERSION); 2699 } 2700 2701 /** 2702 * Gets the current value from the system properties map for {@value #JAVA_VERSION_DATE}. 2703 * <p> 2704 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2705 * </p> 2706 * 2707 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2708 * @since 3.15.0 2709 */ 2710 public static String getJavaVersionDate() { 2711 return getProperty(JAVA_VERSION_DATE); 2712 } 2713 2714 /** 2715 * Gets the current value from the system properties map for {@value #JAVA_VM_INFO}. 2716 * <p> 2717 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2718 * </p> 2719 * 2720 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2721 */ 2722 public static String getJavaVmInfo() { 2723 return getProperty(JAVA_VM_INFO); 2724 } 2725 2726 /** 2727 * Gets the current value from the system properties map for {@value #JAVA_VM_NAME}. 2728 * <p> 2729 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2730 * </p> 2731 * 2732 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2733 */ 2734 public static String getJavaVmName() { 2735 return getProperty(JAVA_VM_NAME); 2736 } 2737 2738 /** 2739 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_NAME}. 2740 * <p> 2741 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2742 * </p> 2743 * 2744 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2745 */ 2746 public static String getJavaVmSpecificationName() { 2747 return getProperty(JAVA_VM_SPECIFICATION_NAME); 2748 } 2749 2750 /** 2751 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_VENDOR}. 2752 * <p> 2753 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2754 * </p> 2755 * 2756 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2757 */ 2758 public static String getJavaVmSpecificationVendor() { 2759 return getProperty(JAVA_VM_SPECIFICATION_VENDOR); 2760 } 2761 2762 /** 2763 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_VERSION}. 2764 * <p> 2765 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2766 * </p> 2767 * 2768 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2769 */ 2770 public static String getJavaVmSpecificationVersion() { 2771 return getProperty(JAVA_VM_SPECIFICATION_VERSION); 2772 } 2773 2774 /** 2775 * Gets the current value from the system properties map for {@value #JAVA_VM_VENDOR}. 2776 * <p> 2777 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2778 * </p> 2779 * 2780 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2781 */ 2782 public static String getJavaVmVendor() { 2783 return getProperty(JAVA_VM_VENDOR); 2784 } 2785 2786 /** 2787 * Gets the current value from the system properties map for {@value #JAVA_VM_VERSION}. 2788 * <p> 2789 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2790 * </p> 2791 * 2792 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2793 */ 2794 public static String getJavaVmVersion() { 2795 return getProperty(JAVA_VM_VERSION); 2796 } 2797 2798 /** 2799 * Gets the current value from the system properties map for {@value #JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES}. 2800 * <p> 2801 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2802 * </p> 2803 * 2804 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2805 * @since 3.15.0 2806 */ 2807 public static String getJavaxAccessibilityAssistiveTechnologies() { 2808 return getProperty(JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES); 2809 } 2810 2811 /** 2812 * Gets the current value from the system properties map for {@value #JAVA_XML_CONFIG_FILE}. 2813 * <p> 2814 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2815 * </p> 2816 * 2817 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2818 * @since 3.15.0 2819 */ 2820 public static String getJavaXmlConfigFile() { 2821 return getProperty(JAVA_XML_CONFIG_FILE); 2822 } 2823 2824 /** 2825 * Gets the current value from the system properties map for {@value #JAVAX_NET_SSL_SESSION_CACHE_SIZE}. 2826 * <p> 2827 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2828 * </p> 2829 * 2830 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2831 * @since 3.15.0 2832 */ 2833 public static String getJavaxNetSslSessionCacheSize() { 2834 return getProperty(JAVAX_NET_SSL_SESSION_CACHE_SIZE); 2835 } 2836 2837 /** 2838 * Gets the current value from the system properties map for {@value #JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES}. 2839 * <p> 2840 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2841 * </p> 2842 * 2843 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2844 * @since 3.15.0 2845 */ 2846 public static String getJavaxRmiSslClientEnabledCipherSuites() { 2847 return getProperty(JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES); 2848 } 2849 2850 /** 2851 * Gets the current value from the system properties map for {@value #JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS}. 2852 * <p> 2853 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2854 * </p> 2855 * 2856 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2857 * @since 3.15.0 2858 */ 2859 public static String getJavaxRmiSslClientEnabledProtocols() { 2860 return getProperty(JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS); 2861 } 2862 2863 /** 2864 * Gets the current value from the system properties map for {@value #JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY}. 2865 * <p> 2866 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2867 * </p> 2868 * 2869 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2870 * @since 3.15.0 2871 */ 2872 public static String getJavaxSecurityAuthUseSubjectCredsOnly() { 2873 return getProperty(JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY); 2874 } 2875 2876 /** 2877 * Gets the current value from the system properties map for {@value #JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE}. 2878 * <p> 2879 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2880 * </p> 2881 * 2882 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2883 * @since 3.15.0 2884 */ 2885 public static String getJavaxSmartCardIoTerminalFactoryDefaultType() { 2886 return getProperty(JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE); 2887 } 2888 2889 /** 2890 * Gets the current value from the system properties map for {@value #JDBC_DRIVERS}. 2891 * <p> 2892 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2893 * </p> 2894 * 2895 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2896 * @since 3.15.0 2897 */ 2898 public static String getJdbcDrivers() { 2899 return getProperty(JDBC_DRIVERS); 2900 } 2901 2902 /** 2903 * Gets the current value from the system properties map for {@value #JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES}. 2904 * <p> 2905 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2906 * </p> 2907 * 2908 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2909 * @since 3.15.0 2910 */ 2911 public static String getJdkHttpAuthProxyingDisabledSchemes() { 2912 return getProperty(JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES); 2913 } 2914 2915 /** 2916 * Gets the current value from the system properties map for {@value #JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES}. 2917 * <p> 2918 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2919 * </p> 2920 * 2921 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2922 * @since 3.15.0 2923 */ 2924 public static String getJdkHttpAuthTunnelingDisabledSchemes() { 2925 return getProperty(JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES); 2926 } 2927 2928 /** 2929 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS}. 2930 * <p> 2931 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2932 * </p> 2933 * 2934 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2935 * @since 3.15.0 2936 */ 2937 public static String getJdkHttpClientAllowRestrictedHeaders() { 2938 return getProperty(JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS); 2939 } 2940 2941 /** 2942 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT}. 2943 * <p> 2944 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2945 * </p> 2946 * 2947 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2948 * @since 3.15.0 2949 */ 2950 public static String getJdkHttpClientAuthRetryLimit() { 2951 return getProperty(JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT); 2952 } 2953 2954 /** 2955 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_BUF_SIZE}. 2956 * <p> 2957 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2958 * </p> 2959 * 2960 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2961 * @since 3.15.0 2962 */ 2963 public static String getJdkHttpClientBufSize() { 2964 return getProperty(JDK_HTTP_CLIENT_BUF_SIZE); 2965 } 2966 2967 /** 2968 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE}. 2969 * <p> 2970 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2971 * </p> 2972 * 2973 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2974 * @since 3.15.0 2975 */ 2976 public static String getJdkHttpClientConnectionPoolSize() { 2977 return getProperty(JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE); 2978 } 2979 2980 /** 2981 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE}. 2982 * <p> 2983 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2984 * </p> 2985 * 2986 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 2987 * @since 3.15.0 2988 */ 2989 public static String getJdkHttpClientConnectionWindowSize() { 2990 return getProperty(JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE); 2991 } 2992 2993 /** 2994 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT}. 2995 * <p> 2996 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 2997 * </p> 2998 * 2999 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3000 * @since 3.15.0 3001 */ 3002 public static String getJdkHttpClientDisableRetryConnect() { 3003 return getProperty(JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT); 3004 } 3005 3006 /** 3007 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY}. 3008 * <p> 3009 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3010 * </p> 3011 * 3012 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3013 * @since 3.15.0 3014 */ 3015 public static String getJdkHttpClientEnableAllMethodRetry() { 3016 return getProperty(JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY); 3017 } 3018 3019 /** 3020 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ENABLE_PUSH}. 3021 * <p> 3022 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3023 * </p> 3024 * 3025 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3026 * @since 3.15.0 3027 */ 3028 public static String getJdkHttpClientEnablePush() { 3029 return getProperty(JDK_HTTP_CLIENT_ENABLE_PUSH); 3030 } 3031 3032 /** 3033 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE}. 3034 * <p> 3035 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3036 * </p> 3037 * 3038 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3039 * @since 3.15.0 3040 */ 3041 public static String getJdkHttpClientHpackMaxHeaderTableSize() { 3042 return getProperty(JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE); 3043 } 3044 3045 /** 3046 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_HTTP_CLIENT_LOG}. 3047 * <p> 3048 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3049 * </p> 3050 * 3051 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3052 * @since 3.15.0 3053 */ 3054 public static String getJdkHttpClientHttpClientLog() { 3055 return getProperty(JDK_HTTP_CLIENT_HTTP_CLIENT_LOG); 3056 } 3057 3058 /** 3059 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT}. 3060 * <p> 3061 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3062 * </p> 3063 * 3064 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3065 * @since 3.15.0 3066 */ 3067 public static String getJdkHttpClientKeepAliveTimeout() { 3068 return getProperty(JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT); 3069 } 3070 3071 /** 3072 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2}. 3073 * <p> 3074 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3075 * </p> 3076 * 3077 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3078 * @since 3.15.0 3079 */ 3080 public static String getJdkHttpClientKeepAliveTimeoutH2() { 3081 return getProperty(JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2); 3082 } 3083 3084 /** 3085 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_MAX_FRAME_SIZE}. 3086 * <p> 3087 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3088 * </p> 3089 * 3090 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3091 * @since 3.15.0 3092 */ 3093 public static String getJdkHttpClientMaxFrameSize() { 3094 return getProperty(JDK_HTTP_CLIENT_MAX_FRAME_SIZE); 3095 } 3096 3097 /** 3098 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_MAX_STREAMS}. 3099 * <p> 3100 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3101 * </p> 3102 * 3103 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3104 * @since 3.15.0 3105 */ 3106 public static String getJdkHttpClientMaxStreams() { 3107 return getProperty(JDK_HTTP_CLIENT_MAX_STREAMS); 3108 } 3109 3110 /** 3111 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE}. 3112 * <p> 3113 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3114 * </p> 3115 * 3116 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3117 * @since 3.15.0 3118 */ 3119 public static String getJdkHttpClientReceiveBufferSize() { 3120 return getProperty(JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE); 3121 } 3122 3123 /** 3124 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT}. 3125 * <p> 3126 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3127 * </p> 3128 * 3129 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3130 * @since 3.15.0 3131 */ 3132 public static String getJdkHttpClientRedirectsRetryLimit() { 3133 return getProperty(JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT); 3134 } 3135 3136 /** 3137 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_SEND_BUFFER_SIZE}. 3138 * <p> 3139 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3140 * </p> 3141 * 3142 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3143 * @since 3.15.0 3144 */ 3145 public static String getJdkHttpClientSendBufferSize() { 3146 return getProperty(JDK_HTTP_CLIENT_SEND_BUFFER_SIZE); 3147 } 3148 3149 /** 3150 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE}. 3151 * <p> 3152 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3153 * </p> 3154 * 3155 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3156 * @since 3.15.0 3157 */ 3158 public static String getJdkHttpClientWebSocketWriteBufferSize() { 3159 return getProperty(JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE); 3160 } 3161 3162 /** 3163 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_WINDOW_SIZE}. 3164 * <p> 3165 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3166 * </p> 3167 * 3168 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3169 * @since 3.15.0 3170 */ 3171 public static String getJdkHttpClientWindowSize() { 3172 return getProperty(JDK_HTTP_CLIENT_WINDOW_SIZE); 3173 } 3174 3175 /** 3176 * Gets the current value from the system properties map for {@value #JDK_HTTP_SERVER_MAX_CONNECTIONS}. 3177 * <p> 3178 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3179 * </p> 3180 * 3181 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3182 * @since 3.15.0 3183 */ 3184 public static String getJdkHttpServerMaxConnections() { 3185 return getProperty(JDK_HTTP_SERVER_MAX_CONNECTIONS); 3186 } 3187 3188 /** 3189 * Gets the current value from the system properties map for {@value #JDK_HTTPS_NEGOTIATE_CBT}. 3190 * <p> 3191 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3192 * </p> 3193 * 3194 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3195 * @since 3.15.0 3196 */ 3197 public static String getJdkHttpsNegotiateCbt() { 3198 return getProperty(JDK_HTTPS_NEGOTIATE_CBT); 3199 } 3200 3201 /** 3202 * Gets the current value from the system properties map for {@value #JDK_INCLUDE_IN_EXCEPTIONS}. 3203 * <p> 3204 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3205 * </p> 3206 * 3207 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3208 * @since 3.15.0 3209 */ 3210 public static String getJdkIncludeInExceptions() { 3211 return getProperty(JDK_INCLUDE_IN_EXCEPTIONS); 3212 } 3213 3214 /** 3215 * Gets the current value from the system properties map for {@value #JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION}. 3216 * <p> 3217 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3218 * </p> 3219 * 3220 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3221 * @since 3.15.0 3222 */ 3223 public static String getJdkInternalHttpClientDisableHostNameVerification() { 3224 return getProperty(JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION); 3225 } 3226 3227 /** 3228 * Gets the current value from the system properties map for {@value #JDK_IO_PERMISSIONS_USE_CANONICAL_PATH}. 3229 * <p> 3230 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3231 * </p> 3232 * 3233 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3234 * @since 3.15.0 3235 */ 3236 public static String getJdkIoPermissionsUseCanonicalPath() { 3237 return getProperty(JDK_IO_PERMISSIONS_USE_CANONICAL_PATH); 3238 } 3239 3240 /** 3241 * Gets the current value from the system properties map for {@value #JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER}. 3242 * <p> 3243 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3244 * </p> 3245 * 3246 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3247 * @since 3.15.0 3248 */ 3249 public static String getJdkJndiLdapObjectFactoriesFilter() { 3250 return getProperty(JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER); 3251 } 3252 3253 /** 3254 * Gets the current value from the system properties map for {@value #JDK_JNDI_OBJECT_FACTORIES_FILTER}. 3255 * <p> 3256 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3257 * </p> 3258 * 3259 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3260 * @since 3.15.0 3261 */ 3262 public static String getJdkJndiObjectFactoriesFilter() { 3263 return getProperty(JDK_JNDI_OBJECT_FACTORIES_FILTER); 3264 } 3265 3266 /** 3267 * Gets the current value from the system properties map for {@value #JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER}. 3268 * <p> 3269 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3270 * </p> 3271 * 3272 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3273 * @since 3.15.0 3274 */ 3275 public static String getJdkJndiRmiObjectFactoriesFilter() { 3276 return getProperty(JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER); 3277 } 3278 3279 /** 3280 * Gets the current value from the system properties map for {@value #JDK_MODULE_MAIN}. 3281 * <p> 3282 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3283 * </p> 3284 * 3285 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3286 * @since 3.15.0 3287 */ 3288 public static String getJdkModuleMain() { 3289 return getProperty(JDK_MODULE_MAIN); 3290 } 3291 3292 /** 3293 * Gets the current value from the system properties map for {@value #JDK_MODULE_MAIN_CLASS}. 3294 * <p> 3295 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3296 * </p> 3297 * 3298 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3299 * @since 3.15.0 3300 */ 3301 public static String getJdkModuleMainClass() { 3302 return getProperty(JDK_MODULE_MAIN_CLASS); 3303 } 3304 3305 /** 3306 * Gets the current value from the system properties map for {@value #JDK_MODULE_PATH}. 3307 * <p> 3308 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3309 * </p> 3310 * 3311 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3312 * @since 3.15.0 3313 */ 3314 public static String getJdkModulePath() { 3315 return getProperty(JDK_MODULE_PATH); 3316 } 3317 3318 /** 3319 * Gets the current value from the system properties map for {@value #JDK_MODULE_UPGRADE_PATH}. 3320 * <p> 3321 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3322 * </p> 3323 * 3324 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3325 * @since 3.15.0 3326 */ 3327 public static String getJdkModuleUpgradePath() { 3328 return getProperty(JDK_MODULE_UPGRADE_PATH); 3329 } 3330 3331 /** 3332 * Gets the current value from the system properties map for {@value #JDK_NET_UNIX_DOMAIN_TMPDIR}. 3333 * <p> 3334 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3335 * </p> 3336 * 3337 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3338 * @since 3.15.0 3339 */ 3340 public static String getJdkNetUnixDomainTmpDir() { 3341 return getProperty(JDK_NET_UNIX_DOMAIN_TMPDIR); 3342 } 3343 3344 /** 3345 * Gets the current value from the system properties map for {@value #JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES}. 3346 * <p> 3347 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3348 * </p> 3349 * 3350 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3351 * @since 3.15.0 3352 */ 3353 public static String getJdkNetUrlClassPathShowIgnoredClassPathEntries() { 3354 return getProperty(JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES); 3355 } 3356 3357 /** 3358 * Gets the current value from the system properties map for {@value #JDK_SERIAL_FILTER}. 3359 * <p> 3360 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3361 * </p> 3362 * 3363 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3364 * @since 3.15.0 3365 */ 3366 public static String getJdkSerialFilter() { 3367 return getProperty(JDK_SERIAL_FILTER); 3368 } 3369 3370 /** 3371 * Gets the current value from the system properties map for {@value #JDK_SERIAL_FILTER_FACTORY}. 3372 * <p> 3373 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3374 * </p> 3375 * 3376 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3377 * @since 3.15.0 3378 */ 3379 public static String getJdkSerialFilterFactory() { 3380 return getProperty(JDK_SERIAL_FILTER_FACTORY); 3381 } 3382 3383 /** 3384 * Gets the current value from the system properties map for {@value #JDK_TLS_CLIENT_SIGNATURE_SCHEMES}. 3385 * <p> 3386 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3387 * </p> 3388 * 3389 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3390 * @since 3.15.0 3391 */ 3392 public static String getJdkTlsClientSignatureSchemes() { 3393 return getProperty(JDK_TLS_CLIENT_SIGNATURE_SCHEMES); 3394 } 3395 3396 /** 3397 * Gets the current value from the system properties map for {@value #JDK_TLS_NAMED_GROUPS}. 3398 * <p> 3399 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3400 * </p> 3401 * 3402 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3403 * @since 3.15.0 3404 */ 3405 public static String getJdkTlsNamedGroups() { 3406 return getProperty(JDK_TLS_NAMED_GROUPS); 3407 } 3408 3409 /** 3410 * Gets the current value from the system properties map for {@value #JDK_TLS_SERVER_SIGNATURE_SCHEMES}. 3411 * <p> 3412 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3413 * </p> 3414 * 3415 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3416 * @since 3.15.0 3417 */ 3418 public static String getJdkTlsServerSignatureSchemes() { 3419 return getProperty(JDK_TLS_SERVER_SIGNATURE_SCHEMES); 3420 } 3421 3422 /** 3423 * Gets the current value from the system properties map for {@value #JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE}. 3424 * <p> 3425 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3426 * </p> 3427 * 3428 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3429 * @since 3.15.0 3430 */ 3431 public static String getJdkVirtualThreadSchedulerMaxPoolSize() { 3432 return getProperty(JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE); 3433 } 3434 3435 /** 3436 * Gets the current value from the system properties map for {@value #JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM}. 3437 * <p> 3438 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3439 * </p> 3440 * 3441 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3442 * @since 3.15.0 3443 */ 3444 public static String getJdkVirtualThreadSchedulerParallelism() { 3445 return getProperty(JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM); 3446 } 3447 3448 /** 3449 * Gets the current value from the system properties map for {@value #JDK_XML_CDATA_CHUNK_SIZE}. 3450 * <p> 3451 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3452 * </p> 3453 * 3454 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3455 * @since 3.15.0 3456 */ 3457 public static String getJdkXmlCdataChunkSize() { 3458 return getProperty(JDK_XML_CDATA_CHUNK_SIZE); 3459 } 3460 3461 /** 3462 * Gets the current value from the system properties map for {@value #JDK_XML_DTD_SUPPORT}. 3463 * <p> 3464 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3465 * </p> 3466 * 3467 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3468 * @since 3.15.0 3469 */ 3470 public static String getJdkXmlDtdSupport() { 3471 return getProperty(JDK_XML_DTD_SUPPORT); 3472 } 3473 3474 /** 3475 * Gets the current value from the system properties map for {@value #JDK_XML_ELEMENT_ATTRIBUTE_LIMIT}. 3476 * <p> 3477 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3478 * </p> 3479 * 3480 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3481 * @since 3.15.0 3482 */ 3483 public static String getJdkXmlElementAttributeLimit() { 3484 return getProperty(JDK_XML_ELEMENT_ATTRIBUTE_LIMIT); 3485 } 3486 3487 /** 3488 * Gets the current value from the system properties map for {@value #JDK_XML_ENABLE_EXTENSION_FUNCTIONS}. 3489 * <p> 3490 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3491 * </p> 3492 * 3493 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3494 * @since 3.15.0 3495 */ 3496 public static String getJdkXmlEnableExtensionFunctions() { 3497 return getProperty(JDK_XML_ENABLE_EXTENSION_FUNCTIONS); 3498 } 3499 3500 /** 3501 * Gets the current value from the system properties map for {@value #JDK_XML_ENTITY_EXPANSION_LIMIT}. 3502 * <p> 3503 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3504 * </p> 3505 * 3506 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3507 * @since 3.15.0 3508 */ 3509 public static String getJdkXmlEntityExpansionLimit() { 3510 return getProperty(JDK_XML_ENTITY_EXPANSION_LIMIT); 3511 } 3512 3513 /** 3514 * Gets the current value from the system properties map for {@value #JDK_XML_ENTITY_REPLACEMENT_LIMIT}. 3515 * <p> 3516 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3517 * </p> 3518 * 3519 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3520 * @since 3.15.0 3521 */ 3522 public static String getJdkXmlEntityReplacementLimit() { 3523 return getProperty(JDK_XML_ENTITY_REPLACEMENT_LIMIT); 3524 } 3525 3526 /** 3527 * Gets the current value from the system properties map for {@value #JDK_XML_IS_STANDALONE}. 3528 * <p> 3529 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3530 * </p> 3531 * 3532 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3533 * @since 3.15.0 3534 */ 3535 public static String getJdkXmlIsStandalone() { 3536 return getProperty(JDK_XML_IS_STANDALONE); 3537 } 3538 3539 /** 3540 * Gets the current value from the system properties map for {@value #JDK_XML_JDK_CATALOG_RESOLVE}. 3541 * <p> 3542 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3543 * </p> 3544 * 3545 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3546 * @since 3.15.0 3547 */ 3548 public static String getJdkXmlJdkCatalogResolve() { 3549 return getProperty(JDK_XML_JDK_CATALOG_RESOLVE); 3550 } 3551 3552 /** 3553 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_ELEMENT_DEPTH}. 3554 * <p> 3555 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3556 * </p> 3557 * 3558 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3559 * @since 3.15.0 3560 */ 3561 public static String getJdkXmlMaxElementDepth() { 3562 return getProperty(JDK_XML_MAX_ELEMENT_DEPTH); 3563 } 3564 3565 /** 3566 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT}. 3567 * <p> 3568 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3569 * </p> 3570 * 3571 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3572 * @since 3.15.0 3573 */ 3574 public static String getJdkXmlMaxGeneralEntitySizeLimit() { 3575 return getProperty(JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT); 3576 } 3577 3578 /** 3579 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_OCCUR_LIMIT}. 3580 * <p> 3581 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3582 * </p> 3583 * 3584 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3585 * @since 3.15.0 3586 */ 3587 public static String getJdkXmlMaxOccurLimit() { 3588 return getProperty(JDK_XML_MAX_OCCUR_LIMIT); 3589 } 3590 3591 /** 3592 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT}. 3593 * <p> 3594 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3595 * </p> 3596 * 3597 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3598 * @since 3.15.0 3599 */ 3600 public static String getJdkXmlMaxParameterEntitySizeLimit() { 3601 return getProperty(JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT); 3602 } 3603 3604 /** 3605 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_XML_NAME_LIMIT}. 3606 * <p> 3607 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3608 * </p> 3609 * 3610 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3611 * @since 3.15.0 3612 */ 3613 public static String getJdkXmlMaxXmlNameLimit() { 3614 return getProperty(JDK_XML_MAX_XML_NAME_LIMIT); 3615 } 3616 3617 /** 3618 * Gets the current value from the system properties map for {@value #JDK_XML_OVERRIDE_DEFAULT_PARSER}. 3619 * <p> 3620 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3621 * </p> 3622 * 3623 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3624 * @since 3.15.0 3625 */ 3626 public static String getJdkXmlOverrideDefaultParser() { 3627 return getProperty(JDK_XML_OVERRIDE_DEFAULT_PARSER); 3628 } 3629 3630 /** 3631 * Gets the current value from the system properties map for {@value #JDK_XML_RESET_SYMBOL_TABLE}. 3632 * <p> 3633 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3634 * </p> 3635 * 3636 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3637 * @since 3.15.0 3638 */ 3639 public static String getJdkXmlResetSymbolTable() { 3640 return getProperty(JDK_XML_RESET_SYMBOL_TABLE); 3641 } 3642 3643 /** 3644 * Gets the current value from the system properties map for {@value #JDK_XML_TOTAL_ENTITY_SIZE_LIMIT}. 3645 * <p> 3646 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3647 * </p> 3648 * 3649 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3650 * @since 3.15.0 3651 */ 3652 public static String getJdkXmlTotalEntitySizeLimit() { 3653 return getProperty(JDK_XML_TOTAL_ENTITY_SIZE_LIMIT); 3654 } 3655 3656 /** 3657 * Gets the current value from the system properties map for {@value #JDK_XML_XSLTC_IS_STANDALONE}. 3658 * <p> 3659 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3660 * </p> 3661 * 3662 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3663 * @since 3.15.0 3664 */ 3665 public static String getJdkXmlXsltcIsStandalone() { 3666 return getProperty(JDK_XML_XSLTC_IS_STANDALONE); 3667 } 3668 3669 /** 3670 * Gets the current value from the system properties map for {@value #LINE_SEPARATOR}. 3671 * <p> 3672 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3673 * </p> 3674 * 3675 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3676 */ 3677 public static String getLineSeparator() { 3678 return getProperty(LINE_SEPARATOR); 3679 } 3680 3681 /** 3682 * Gets the current value from the system properties map for {@value #LINE_SEPARATOR}. 3683 * <p> 3684 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3685 * </p> 3686 * 3687 * @param defaultIfAbsent get this Supplier when the property is empty or throws SecurityException. 3688 * @return the current value from the system properties map. 3689 * @since 3.15.0 3690 */ 3691 public static String getLineSeparator(final Supplier<String> defaultIfAbsent) { 3692 return getProperty(LINE_SEPARATOR, defaultIfAbsent); 3693 } 3694 3695 /** 3696 * Gets the current value for the property named {@code "SimpleClassName.Key"} as a {@code long}. 3697 * <p> 3698 * If a {@link SecurityException} is caught, the return value is {@code null}. 3699 * </p> 3700 * 3701 * @param clazz The Class to use for the SimpleClassName. 3702 * @param key The subkey. 3703 * @param defaultIfAbsent The default value. 3704 * @return a long or defaultIfAbsent. 3705 * @see Class#getSimpleName() 3706 * @since 3.19.0 3707 */ 3708 public static long getLong(final Class<?> clazz, final String key, final LongSupplier defaultIfAbsent) { 3709 return getLong(toKey(clazz, key, true), defaultIfAbsent); 3710 } 3711 3712 /** 3713 * Gets the current value for the property named {@code key} as a {@code long}. 3714 * <p> 3715 * If a {@link SecurityException} is caught, the return value is {@code null}. 3716 * </p> 3717 * 3718 * @param key The key. 3719 * @param defaultIfAbsent The default value. 3720 * @return a {@code long} or defaultIfAbsent. 3721 */ 3722 public static long getLong(final String key, final LongSupplier defaultIfAbsent) { 3723 final String str = getProperty(key); 3724 return str == null ? defaultIfAbsent != null ? defaultIfAbsent.getAsLong() : 0 : Long.parseLong(str); 3725 } 3726 3727 /** 3728 * Gets the current value from the system properties map for {@value #NATIVE_ENCODING}. 3729 * <p> 3730 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3731 * </p> 3732 * 3733 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3734 * @since 3.15.0 3735 */ 3736 public static String getNativeEncoding() { 3737 return getProperty(NATIVE_ENCODING); 3738 } 3739 3740 /** 3741 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_NEGATIVE_TTL}. 3742 * <p> 3743 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3744 * </p> 3745 * 3746 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3747 * @since 3.15.0 3748 */ 3749 public static String getNetworkAddressCacheNegativeTtl() { 3750 return getProperty(NETWORK_ADDRESS_CACHE_NEGATIVE_TTL); 3751 } 3752 3753 /** 3754 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_STALE_TTL}. 3755 * <p> 3756 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3757 * </p> 3758 * 3759 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3760 * @since 3.15.0 3761 */ 3762 public static String getNetworkAddressCacheStaleTtl() { 3763 return getProperty(NETWORK_ADDRESS_CACHE_STALE_TTL); 3764 } 3765 3766 /** 3767 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_TTL}. 3768 * <p> 3769 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3770 * </p> 3771 * 3772 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3773 * @since 3.15.0 3774 */ 3775 public static String getNetworkAddressCacheTtl() { 3776 return getProperty(NETWORK_ADDRESS_CACHE_TTL); 3777 } 3778 3779 /** 3780 * Gets the current value from the system properties map for {@value #ORG_JCP_XML_DSIG_SECURE_VALIDATION}. 3781 * <p> 3782 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3783 * </p> 3784 * 3785 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3786 * @since 3.15.0 3787 */ 3788 public static String getOrgJcpXmlDsigSecureValidation() { 3789 return getProperty(ORG_JCP_XML_DSIG_SECURE_VALIDATION); 3790 } 3791 3792 /** 3793 * Gets the current value from the system properties map for {@value #ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE}. 3794 * <p> 3795 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3796 * </p> 3797 * 3798 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3799 * @since 3.15.0 3800 */ 3801 public static String getOrgOpenJdkJavaUtilStreamTripwire() { 3802 return getProperty(ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE); 3803 } 3804 3805 /** 3806 * Gets the current value from the system properties map for {@value #OS_ARCH}. 3807 * <p> 3808 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3809 * </p> 3810 * 3811 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3812 */ 3813 public static String getOsArch() { 3814 return getProperty(OS_ARCH); 3815 } 3816 3817 /** 3818 * Gets the current value from the system properties map for {@value #OS_NAME}. 3819 * <p> 3820 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3821 * </p> 3822 * 3823 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3824 */ 3825 public static String getOsName() { 3826 return getProperty(OS_NAME); 3827 } 3828 3829 /** 3830 * Gets the current value from the system properties map for {@value #OS_VERSION}. 3831 * <p> 3832 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3833 * </p> 3834 * 3835 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3836 */ 3837 public static String getOsVersion() { 3838 return getProperty(OS_VERSION); 3839 } 3840 3841 /** 3842 * Gets the current value from the system properties map for {@value #PATH_SEPARATOR}. 3843 * <p> 3844 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3845 * </p> 3846 * 3847 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3848 */ 3849 public static String getPathSeparator() { 3850 return getProperty(PATH_SEPARATOR); 3851 } 3852 3853 /** 3854 * Gets a System property, defaulting to {@code null} if the property cannot be read. 3855 * <p> 3856 * If a {@link SecurityException} is caught, the return value is {@code null}. 3857 * </p> 3858 * 3859 * @param property The system property name. 3860 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3861 */ 3862 public static String getProperty(final String property) { 3863 return getProperty(property, Suppliers.nul()); 3864 } 3865 3866 /** 3867 * Gets a System property, defaulting to {@code null} if the property cannot be read. 3868 * <p> 3869 * If a {@link SecurityException} is caught, the return value is {@code null}. 3870 * </p> 3871 * 3872 * @param property the system property name. 3873 * @param defaultIfAbsent use this value when the property is empty or throws SecurityException. 3874 * @return the system property value or {@code null} if a security problem occurs. 3875 */ 3876 static String getProperty(final String property, final String defaultIfAbsent) { 3877 return getProperty(property, () -> defaultIfAbsent); 3878 } 3879 3880 /** 3881 * Gets a System property, defaulting to {@code null} if the property cannot be read. 3882 * <p> 3883 * If a {@link SecurityException} is caught, the return value is {@code null}. 3884 * </p> 3885 * 3886 * @param property the system property name. 3887 * @param defaultIfAbsent get this Supplier when the property is empty or throws SecurityException. 3888 * @return the system property value or {@code null} if a security problem occurs. 3889 */ 3890 static String getProperty(final String property, final Supplier<String> defaultIfAbsent) { 3891 try { 3892 if (StringUtils.isEmpty(property)) { 3893 return Suppliers.get(defaultIfAbsent); 3894 } 3895 return StringUtils.getIfEmpty(System.getProperty(property), defaultIfAbsent); 3896 } catch (final SecurityException ignore) { 3897 // We are not allowed to look at this property. 3898 // 3899 // System.err.println("Caught a SecurityException reading the system property '" + property 3900 // + "'; the SystemUtils property value will default to null."); 3901 return defaultIfAbsent.get(); 3902 } 3903 } 3904 3905 /** 3906 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_HOST}. 3907 * <p> 3908 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3909 * </p> 3910 * 3911 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3912 * @since 3.15.0 3913 */ 3914 public static String getSocksProxyHost() { 3915 return getProperty(SOCKS_PROXY_HOST); 3916 } 3917 3918 /** 3919 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_PORT}. 3920 * <p> 3921 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3922 * </p> 3923 * 3924 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3925 * @since 3.15.0 3926 */ 3927 public static String getSocksProxyPort() { 3928 return getProperty(SOCKS_PROXY_PORT); 3929 } 3930 3931 /** 3932 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_VERSION}. 3933 * <p> 3934 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3935 * </p> 3936 * 3937 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3938 * @since 3.15.0 3939 */ 3940 public static String getSocksProxyVersion() { 3941 return getProperty(SOCKS_PROXY_VERSION); 3942 } 3943 3944 /** 3945 * Gets the current value from the system properties map for {@value #STDERR_ENCODING}. 3946 * <p> 3947 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3948 * </p> 3949 * 3950 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3951 * @since 3.15.0 3952 */ 3953 public static String getStdErrEncoding() { 3954 return getProperty(STDERR_ENCODING); 3955 } 3956 3957 /** 3958 * Gets the current value from the system properties map for {@value #STDOUT_ENCODING}. 3959 * <p> 3960 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3961 * </p> 3962 * 3963 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3964 * @since 3.15.0 3965 */ 3966 public static String getStdOutEncoding() { 3967 return getProperty(STDOUT_ENCODING); 3968 } 3969 3970 /** 3971 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_DRAIN_AMOUNT}. 3972 * <p> 3973 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3974 * </p> 3975 * 3976 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3977 * @since 3.15.0 3978 */ 3979 public static String getSunNetHttpServerDrainAmount() { 3980 return getProperty(SUN_NET_HTTP_SERVER_DRAIN_AMOUNT); 3981 } 3982 3983 /** 3984 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_IDLE_INTERVAL}. 3985 * <p> 3986 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 3987 * </p> 3988 * 3989 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 3990 * @since 3.15.0 3991 */ 3992 public static String getSunNetHttpServerIdleInterval() { 3993 return getProperty(SUN_NET_HTTP_SERVER_IDLE_INTERVAL); 3994 } 3995 3996 /** 3997 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS}. 3998 * <p> 3999 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4000 * </p> 4001 * 4002 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4003 * @since 3.15.0 4004 */ 4005 public static String getSunNetHttpServerMaxIdleConnections() { 4006 return getProperty(SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS); 4007 } 4008 4009 /** 4010 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS}. 4011 * <p> 4012 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4013 * </p> 4014 * 4015 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4016 * @since 3.15.0 4017 */ 4018 public static String getSunNetHttpServerMaxReqHeaders() { 4019 return getProperty(SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS); 4020 } 4021 4022 /** 4023 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_REQ_TIME}. 4024 * <p> 4025 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4026 * </p> 4027 * 4028 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4029 * @since 3.15.0 4030 */ 4031 public static String getSunNetHttpServerMaxReqTime() { 4032 return getProperty(SUN_NET_HTTP_SERVER_MAX_REQ_TIME); 4033 } 4034 4035 /** 4036 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_RSP_TIME}. 4037 * <p> 4038 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4039 * </p> 4040 * 4041 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4042 * @since 3.15.0 4043 */ 4044 public static String getSunNetHttpServerMaxRspTime() { 4045 return getProperty(SUN_NET_HTTP_SERVER_MAX_RSP_TIME); 4046 } 4047 4048 /** 4049 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_NO_DELAY}. 4050 * <p> 4051 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4052 * </p> 4053 * 4054 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4055 * @since 3.15.0 4056 */ 4057 public static String getSunNetHttpServerNoDelay() { 4058 return getProperty(SUN_NET_HTTP_SERVER_NO_DELAY); 4059 } 4060 4061 /** 4062 * Gets the current value from the system properties map for {@value #SUN_SECURITY_KRB5_PRINCIPAL}. 4063 * <p> 4064 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4065 * </p> 4066 * 4067 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4068 * @since 3.15.0 4069 */ 4070 public static String getSunSecurityKrb5Principal() { 4071 return getProperty(SUN_SECURITY_KRB5_PRINCIPAL); 4072 } 4073 4074 /** 4075 * Gets the current value from the system properties map for {@value #USER_COUNTRY}. 4076 * <p> 4077 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4078 * </p> 4079 * 4080 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4081 */ 4082 public static String getUserCountry() { 4083 return getProperty(USER_COUNTRY); 4084 } 4085 4086 /** 4087 * Gets the current value from the system properties map for {@value #USER_DIR}. 4088 * <p> 4089 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4090 * </p> 4091 * 4092 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4093 */ 4094 public static String getUserDir() { 4095 return getProperty(USER_DIR); 4096 } 4097 4098 /** 4099 * Gets the current value from the system properties map for {@value #USER_EXTENSIONS}. 4100 * <p> 4101 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4102 * </p> 4103 * 4104 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4105 * @since 3.15.0 4106 */ 4107 public static String getUserExtensions() { 4108 return getProperty(USER_EXTENSIONS); 4109 } 4110 4111 /** 4112 * Gets the current value from the system properties map for {@value #USER_HOME}. 4113 * <p> 4114 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4115 * </p> 4116 * 4117 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4118 */ 4119 public static String getUserHome() { 4120 return getProperty(USER_HOME); 4121 } 4122 4123 /** 4124 * Gets the current value from the system properties map for {@value #USER_LANGUAGE}. 4125 * <p> 4126 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4127 * </p> 4128 * 4129 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4130 */ 4131 public static String getUserLanguage() { 4132 return getProperty(USER_LANGUAGE); 4133 } 4134 4135 /** 4136 * Gets the current value from the system properties map for {@value #USER_NAME}. 4137 * <p> 4138 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4139 * </p> 4140 * 4141 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4142 */ 4143 public static String getUserName() { 4144 return getProperty(USER_NAME); 4145 } 4146 4147 /** 4148 * Gets the current value from the system properties map for {@value #USER_NAME}. 4149 * <p> 4150 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4151 * </p> 4152 * 4153 * @param defaultValue get this Supplier when the property is empty or throws SecurityException. 4154 * @return The system property value or {@code defaultValue} if the property is absent or a security problem occurs. 4155 * @since 3.15.0 4156 */ 4157 public static String getUserName(final String defaultValue) { 4158 return getProperty(USER_NAME, defaultValue); 4159 } 4160 4161 /** 4162 * Gets the current value from the system properties map for {@value #USER_REGION}. 4163 * <p> 4164 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4165 * </p> 4166 * 4167 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4168 * @since 3.15.0 4169 */ 4170 public static String getUserRegion() { 4171 return getProperty(USER_REGION); 4172 } 4173 4174 /** 4175 * Gets the current value from the system properties map for {@value #USER_SCRIPT}. 4176 * <p> 4177 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4178 * </p> 4179 * 4180 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4181 * @since 3.15.0 4182 */ 4183 public static String getUserScript() { 4184 return getProperty(USER_SCRIPT); 4185 } 4186 4187 /** 4188 * Gets the current value from the system properties map for {@value #USER_TIMEZONE}. 4189 * <p> 4190 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4191 * </p> 4192 * 4193 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4194 */ 4195 public static String getUserTimezone() { 4196 return getProperty(USER_TIMEZONE); 4197 } 4198 4199 /** 4200 * Gets the current value from the system properties map for {@value #USER_VARIANT}. 4201 * <p> 4202 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}. 4203 * </p> 4204 * 4205 * @return The system property value or {@code null} if the property is absent or a security problem occurs. 4206 * @since 3.15.0 4207 */ 4208 public static String getUserVariant() { 4209 return getProperty(USER_VARIANT); 4210 } 4211 4212 /** 4213 * Tests whether the given property is set. 4214 * <p> 4215 * Short-hand for {@code getProperty(property) != null}. 4216 * </p> 4217 * <p> 4218 * If a {@link SecurityException} is caught, the return value is {@code false}. 4219 * </p> 4220 * 4221 * @param property the system property name. 4222 * @return whether the given property is set. 4223 * @since 3.18.0 4224 */ 4225 public static boolean isPropertySet(final String property) { 4226 return getProperty(property) != null; 4227 } 4228 4229 private static String toKey(final Class<?> clazz, final String key, final boolean simpleKey) { 4230 return ClassUtils.getName(clazz, StringUtils.EMPTY, simpleKey) + "." + key; 4231 } 4232 4233 /** 4234 * Make private in 4.0. 4235 * 4236 * @deprecated TODO Make private in 4.0. 4237 */ 4238 @Deprecated 4239 public SystemProperties() { 4240 // empty 4241 } 4242 }