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