1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.commons.lang3;
19
20 import java.nio.file.Path;
21 import java.nio.file.Paths;
22 import java.util.function.BooleanSupplier;
23 import java.util.function.IntSupplier;
24 import java.util.function.LongSupplier;
25 import java.util.function.Supplier;
26
27 import org.apache.commons.lang3.function.Suppliers;
28
29 /**
30 * Accesses current <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Property</a> names and values.
31 *
32 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
33 * @since 3.13.0
34 */
35 public final class SystemProperties {
36
37 /**
38 * The System property name {@value}.
39 *
40 * @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>
41 * @since 3.15.0
42 */
43 public static final String APPLE_AWT_ENABLE_TEMPLATE_IMAGES = "apple.awt.enableTemplateImages";
44
45 /**
46 * The System property name {@value}.
47 * <p>
48 * 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.
49 * </p>
50 *
51 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
52 * @deprecated Deprecated without replacement.
53 */
54 @Deprecated
55 public static final String AWT_TOOLKIT = "awt.toolkit";
56
57 /**
58 * The System property name {@value}.
59 *
60 * @see <a href=
61 * "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>
62 * @since 3.15.0
63 */
64 public static final String COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA = "com.sun.jndi.ldap.object.trustSerialData";
65
66 /**
67 * The System property name {@value}.
68 *
69 * @see <a href=
70 * "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>
71 * @since 3.15.0
72 */
73 public static final String COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER = "com.sun.net.httpserver.HttpServerProvider";
74
75 /**
76 * The System property name {@value}.
77 */
78 public static final String FILE_ENCODING = "file.encoding";
79
80 /**
81 * The System property name {@value}.
82 */
83 public static final String FILE_SEPARATOR = "file.separator";
84
85 /**
86 * The System property name {@value}.
87 *
88 * @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>
89 * @since 3.15.0
90 */
91 public static final String FTP_NON_PROXY_HOST = "ftp.nonProxyHosts";
92
93 /**
94 * The System property name {@value}.
95 *
96 * @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>
97 * @since 3.15.0
98 */
99 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.entityReplacementLimi_t</a>
1228 * @since 3.15.0
1229 */
1230 public static final String JDK_XML_ENTITY_REPLACEMENT_LIMIT = "jdk.xml.entityReplacementLimi_t";
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 * If a {@link SecurityException} is caught, the return value is {@code null}.
1605 * </p>
1606 *
1607 * @param clazz The Class to use for the SimpleClassName.
1608 * @param key The subkey.
1609 * @param defaultIfAbsent The default value.
1610 * @return an int or {@code defaultIfAbsent}'s value.
1611 * @see Class#getSimpleName()
1612 * @since 3.19.0
1613 */
1614 public static boolean getBoolean(final Class<?> clazz, final String key, final BooleanSupplier defaultIfAbsent) {
1615 return getBoolean(toKey(clazz, key, true), defaultIfAbsent);
1616 }
1617
1618 /**
1619 * Gets the current value for the property named {@code key} as a {@code boolean}.
1620 * <p>
1621 * If a {@link SecurityException} is caught, the return value is {@code null}.
1622 * </p>
1623 *
1624 * @param key The key.
1625 * @param defaultIfAbsent The default value.
1626 * @return a {@code boolean} or {@code defaultIfAbsent}'s value.
1627 */
1628 public static boolean getBoolean(final String key, final BooleanSupplier defaultIfAbsent) {
1629 final String str = getProperty(key);
1630 return str == null ? defaultIfAbsent != null && defaultIfAbsent.getAsBoolean() : Boolean.parseBoolean(str);
1631 }
1632
1633 /**
1634 * Gets the current value from the system properties map.
1635 * <p>
1636 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1637 * </p>
1638 *
1639 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1640 * @since 3.15.0
1641 */
1642 public static String getComSunJndiLdapObjectTrustSerialData() {
1643 return getProperty(COM_SUN_JNDI_LDAP_OBJECT_TRUST_SERIAL_DATA);
1644 }
1645
1646 /**
1647 * Gets the current value from the system properties map.
1648 * <p>
1649 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1650 * </p>
1651 *
1652 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1653 * @since 3.15.0
1654 */
1655 public static String getComSunNetHttpServerHttpServerProvider() {
1656 return getProperty(COM_SUN_NET_HTTP_SERVER_HTTP_SERVER_PROVIDER);
1657 }
1658
1659 /**
1660 * Gets the current value from the system properties map.
1661 * <p>
1662 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1663 * </p>
1664 * <p>
1665 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1666 * </p>
1667 *
1668 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1669 */
1670 public static String getFileEncoding() {
1671 return getProperty(FILE_ENCODING);
1672 }
1673
1674 /**
1675 * Gets the current value from the system properties map.
1676 * <p>
1677 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1678 * </p>
1679 *
1680 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1681 */
1682 public static String getFileSeparator() {
1683 return getProperty(FILE_SEPARATOR);
1684 }
1685
1686 /**
1687 * Gets the current value from the system properties map.
1688 * <p>
1689 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1690 * </p>
1691 *
1692 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1693 * @since 3.15.0
1694 */
1695 public static String getFtpNonProxyHost() {
1696 return getProperty(FTP_NON_PROXY_HOST);
1697 }
1698
1699 /**
1700 * Gets the current value from the system properties map.
1701 * <p>
1702 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1703 * </p>
1704 *
1705 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1706 * @since 3.15.0
1707 */
1708 public static String getFtpProxyHost() {
1709 return getProperty(FTP_PROXY_HOST);
1710 }
1711
1712 /**
1713 * Gets the current value from the system properties map.
1714 * <p>
1715 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1716 * </p>
1717 *
1718 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1719 * @since 3.15.0
1720 */
1721 public static String getFtpProxyPort() {
1722 return getProperty(FTP_PROXY_PORT);
1723 }
1724
1725 /**
1726 * Gets the current value from the system properties map.
1727 * <p>
1728 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1729 * </p>
1730 *
1731 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1732 * @since 3.15.0
1733 */
1734 public static String getHttpAgent() {
1735 return getProperty(HTTP_AGENT);
1736 }
1737
1738 /**
1739 * Gets the current value from the system properties map.
1740 * <p>
1741 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1742 * </p>
1743 *
1744 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1745 * @since 3.15.0
1746 */
1747 public static String getHttpAuthDigestCnonceRepeat() {
1748 return getProperty(HTTP_AUTH_DIGEST_CNONCE_REPEAT);
1749 }
1750
1751 /**
1752 * Gets the current value from the system properties map.
1753 * <p>
1754 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1755 * </p>
1756 *
1757 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1758 * @since 3.15.0
1759 */
1760 public static String getHttpAuthDigestReenabledAlgorithms() {
1761 return getProperty(HTTP_AUTH_DIGEST_RE_ENABLED_ALGORITHMS);
1762 }
1763
1764 /**
1765 * Gets the current value from the system properties map.
1766 * <p>
1767 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1768 * </p>
1769 *
1770 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1771 * @since 3.15.0
1772 */
1773 public static String getHttpAuthDigestValidateProxy() {
1774 return getProperty(HTTP_AUTH_DIGEST_VALIDATE_PROXY);
1775 }
1776
1777 /**
1778 * Gets the current value from the system properties map.
1779 * <p>
1780 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1781 * </p>
1782 *
1783 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1784 * @since 3.15.0
1785 */
1786 public static String getHttpAuthDigestValidateServer() {
1787 return getProperty(HTTP_AUTH_DIGEST_VALIDATE_SERVER);
1788 }
1789
1790 /**
1791 * Gets the current value from the system properties map.
1792 * <p>
1793 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1794 * </p>
1795 *
1796 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1797 * @since 3.15.0
1798 */
1799 public static String getHttpAuthNtlmDomain() {
1800 return getProperty(HTTP_AUTH_NTLM_DOMAIN);
1801 }
1802
1803 /**
1804 * Gets the current value from the system properties map.
1805 * <p>
1806 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1807 * </p>
1808 *
1809 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1810 * @since 3.15.0
1811 */
1812 public static String getHttpKeepAlive() {
1813 return getProperty(HTTP_KEEP_ALIVE);
1814 }
1815
1816 /**
1817 * Gets the current value from the system properties map.
1818 * <p>
1819 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1820 * </p>
1821 *
1822 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1823 * @since 3.15.0
1824 */
1825 public static String getHttpKeepAliveTimeProxy() {
1826 return getProperty(HTTP_KEEP_ALIVE_TIME_PROXY);
1827 }
1828
1829 /**
1830 * Gets the current value from the system properties map.
1831 * <p>
1832 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1833 * </p>
1834 *
1835 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1836 * @since 3.15.0
1837 */
1838 public static String getHttpKeepAliveTimeServer() {
1839 return getProperty(HTTP_KEEP_ALIVE_TIME_SERVER);
1840 }
1841
1842 /**
1843 * Gets the current value from the system properties map.
1844 * <p>
1845 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1846 * </p>
1847 *
1848 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1849 * @since 3.15.0
1850 */
1851 public static String getHttpMaxConnections() {
1852 return getProperty(HTTP_MAX_CONNECTIONS);
1853 }
1854
1855 /**
1856 * Gets the current value from the system properties map.
1857 * <p>
1858 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1859 * </p>
1860 *
1861 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1862 * @since 3.15.0
1863 */
1864 public static String getHttpMaxRedirects() {
1865 return getProperty(HTTP_MAX_REDIRECTS);
1866 }
1867
1868 /**
1869 * Gets the current value from the system properties map.
1870 * <p>
1871 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1872 * </p>
1873 *
1874 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1875 * @since 3.15.0
1876 */
1877 public static String getHttpNonProxyHosts() {
1878 return getProperty(HTTP_NON_PROXY_HOSTS);
1879 }
1880
1881 /**
1882 * Gets the current value from the system properties map.
1883 * <p>
1884 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1885 * </p>
1886 *
1887 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1888 * @since 3.15.0
1889 */
1890 public static String getHttpProxyHost() {
1891 return getProperty(HTTP_PROXY_HOST);
1892 }
1893
1894 /**
1895 * Gets the current value from the system properties map.
1896 * <p>
1897 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1898 * </p>
1899 *
1900 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1901 * @since 3.15.0
1902 */
1903 public static String getHttpProxyPort() {
1904 return getProperty(HTTP_PROXY_PORT);
1905 }
1906
1907 /**
1908 * Gets the current value from the system properties map.
1909 * <p>
1910 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1911 * </p>
1912 *
1913 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1914 * @since 3.15.0
1915 */
1916 public static String getHttpsProxyHost() {
1917 return getProperty(HTTPS_PROXY_HOST);
1918 }
1919
1920 /**
1921 * Gets the current value from the system properties map.
1922 * <p>
1923 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1924 * </p>
1925 *
1926 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1927 * @since 3.15.0
1928 */
1929 public static String getHttpsProxyPort() {
1930 return getProperty(HTTPS_PROXY_PORT);
1931 }
1932
1933 /**
1934 * Gets the current value for the property named {@code "SimpleClassName.Key"} as an {@code int}.
1935 * <p>
1936 * If a {@link SecurityException} is caught, the return value is {@code null}.
1937 * </p>
1938 *
1939 * @param clazz The Class to use for the SimpleClassName.
1940 * @param key The subkey.
1941 * @param defaultIfAbsent The default value.
1942 * @return an int or {@code defaultIfAbsent}'s value.
1943 * @see Class#getSimpleName()
1944 * @since 3.19.0
1945 */
1946 public static int getInt(final Class<?> clazz, final String key, final IntSupplier defaultIfAbsent) {
1947 return getInt(toKey(clazz, key, true), defaultIfAbsent);
1948 }
1949
1950 /**
1951 * Gets the current value for the property named {@code key} as an {@code int}.
1952 * <p>
1953 * If a {@link SecurityException} is caught, the return value is {@code null}.
1954 * </p>
1955 *
1956 * @param key The key.
1957 * @param defaultIfAbsent The default value.
1958 * @return an {@code int} or {@code defaultIfAbsent}'s value.
1959 */
1960 public static int getInt(final String key, final IntSupplier defaultIfAbsent) {
1961 final String str = getProperty(key);
1962 return str == null ? defaultIfAbsent != null ? defaultIfAbsent.getAsInt() : 0 : Integer.parseInt(str);
1963 }
1964
1965 /**
1966 * Gets the current value from the system properties map.
1967 * <p>
1968 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
1969 * </p>
1970 *
1971 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
1972 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
1973 * @see #JAVA_AWT_FONTS
1974 * @deprecated Deprecated without replacement.
1975 */
1976 @Deprecated
1977 public static String getJavaAwtFonts() {
1978 return getProperty(JAVA_AWT_FONTS);
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 * @deprecated Deprecated without replacement.
1990 */
1991 @Deprecated
1992 public static String getJavaAwtGraphicsenv() {
1993 return getProperty(JAVA_AWT_GRAPHICSENV);
1994 }
1995
1996 /**
1997 * Gets the current value from the system properties map.
1998 * <p>
1999 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2000 * </p>
2001 *
2002 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2003 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
2004 * @see #JAVA_AWT_HEADLESS
2005 * @deprecated Deprecated without replacement.
2006 */
2007 @Deprecated
2008 public static String getJavaAwtHeadless() {
2009 return getProperty(JAVA_AWT_HEADLESS);
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_PRINTERJOB
2021 * @deprecated Deprecated without replacement.
2022 */
2023 @Deprecated
2024 public static String getJavaAwtPrinterjob() {
2025 return getProperty(JAVA_AWT_PRINTERJOB);
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">java.class.path</a>
2036 * @see #JAVA_CLASS_PATH
2037 */
2038 public static String getJavaClassPath() {
2039 return getProperty(JAVA_CLASS_PATH);
2040 }
2041
2042 /**
2043 * Gets the current value from the system properties map.
2044 * <p>
2045 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2046 * </p>
2047 *
2048 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2049 */
2050 public static String getJavaClassVersion() {
2051 return getProperty(JAVA_CLASS_VERSION);
2052 }
2053
2054 /**
2055 * Gets the current value from the system properties map.
2056 * <p>
2057 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2058 * </p>
2059 *
2060 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2061 * @see <a href="https://bugs.openjdk.org/browse/JDK-8305998">JDK-8305998</a>
2062 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
2063 * @deprecated Deprecated without replacement.
2064 */
2065 @Deprecated
2066 public static String getJavaCompiler() {
2067 return getProperty(JAVA_COMPILER);
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 * @since 3.15.0
2078 */
2079 public static String getJavaContentHandlerPkgs() {
2080 return getProperty(JAVA_CONTENT_HANDLER_PKGS);
2081 }
2082
2083 /**
2084 * Gets the current value from the system properties map.
2085 * <p>
2086 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2087 * </p>
2088 *
2089 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2090 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
2091 * @deprecated Deprecated without replacement.
2092 */
2093 @Deprecated
2094 public static String getJavaEndorsedDirs() {
2095 return getProperty(JAVA_ENDORSED_DIRS);
2096 }
2097
2098 /**
2099 * Gets the current value from the system properties map.
2100 * <p>
2101 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2102 * </p>
2103 *
2104 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2105 * @see <a href="https://docs.oracle.com/en/java/javase/25/docs/api/system-properties.html">System Properties</a>
2106 * @see #JAVA_EXT_DIRS
2107 * @deprecated Deprecated without replacement.
2108 */
2109 @Deprecated
2110 public static String getJavaExtDirs() {
2111 return getProperty(JAVA_EXT_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 */
2122 public static String getJavaHome() {
2123 return getProperty(JAVA_HOME);
2124 }
2125
2126 /**
2127 * Gets the current value from the system properties map.
2128 * <p>
2129 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2130 * </p>
2131 *
2132 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2133 */
2134 public static String getJavaIoTmpdir() {
2135 return getProperty(JAVA_IO_TMPDIR);
2136 }
2137
2138 /**
2139 * Gets the current value from the system properties map.
2140 * <p>
2141 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2142 * </p>
2143 *
2144 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2145 */
2146 public static String getJavaLibraryPath() {
2147 return getProperty(JAVA_LIBRARY_PATH);
2148 }
2149
2150 /**
2151 * Gets the current value from the system properties map.
2152 * <p>
2153 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2154 * </p>
2155 * <p>
2156 * Java 9 and above.
2157 * </p>
2158 *
2159 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2160 */
2161 public static String getJavaLocaleProviders() {
2162 return getProperty(JAVA_LOCALE_PROVIDERS);
2163 }
2164
2165 /**
2166 * Gets the current value from the system properties map.
2167 * <p>
2168 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2169 * </p>
2170 *
2171 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2172 * @since 3.15.0
2173 */
2174 public static String getJavaLocaleUseOldIsoCodes() {
2175 return getProperty(JAVA_LOCALE_USE_OLD_ISO_CODES);
2176 }
2177
2178 /**
2179 * Gets the current value from the system properties map.
2180 * <p>
2181 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2182 * </p>
2183 *
2184 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2185 * @since 3.15.0
2186 */
2187 public static String getJavaNetPreferIpv4Stack() {
2188 return getProperty(JAVA_NET_PREFER_IPV4_STACK);
2189 }
2190
2191 /**
2192 * Gets the current value from the system properties map.
2193 * <p>
2194 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2195 * </p>
2196 *
2197 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2198 * @since 3.15.0
2199 */
2200 public static String getJavaNetPreferIpv6Addresses() {
2201 return getProperty(JAVA_NET_PREFER_IPV6_ADDRESSES);
2202 }
2203
2204 /**
2205 * Gets the current value from the system properties map.
2206 * <p>
2207 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2208 * </p>
2209 *
2210 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2211 * @since 3.15.0
2212 */
2213 public static String getJavaNetSocksPassword() {
2214 return getProperty(JAVA_NET_SOCKS_PASSWORD);
2215 }
2216
2217 /**
2218 * Gets the current value from the system properties map.
2219 * <p>
2220 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2221 * </p>
2222 *
2223 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2224 * @since 3.15.0
2225 */
2226 public static String getJavaNetSocksUserName() {
2227 return getProperty(JAVA_NET_SOCKS_USER_NAME);
2228 }
2229
2230 /**
2231 * Gets the current value from the system properties map.
2232 * <p>
2233 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2234 * </p>
2235 *
2236 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2237 * @since 3.15.0
2238 */
2239 public static String getJavaNetUseSystemProxies() {
2240 return getProperty(JAVA_NET_USE_SYSTEM_PROXIES);
2241 }
2242
2243 /**
2244 * Gets the current value from the system properties map.
2245 * <p>
2246 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2247 * </p>
2248 *
2249 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2250 * @since 3.15.0
2251 */
2252 public static String getJavaNioChannelsDefaultThreadPoolInitialSize() {
2253 return getProperty(JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_INITIAL_SIZE);
2254 }
2255
2256 /**
2257 * Gets the current value from the system properties map.
2258 * <p>
2259 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2260 * </p>
2261 *
2262 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2263 * @since 3.15.0
2264 */
2265 public static String getJavaNioChannelsDefaultThreadPoolThreadFactory() {
2266 return getProperty(JAVA_NIO_CHANNELS_DEFAULT_THREAD_POOL_THREAD_FACTORY);
2267 }
2268
2269 /**
2270 * Gets the current value from the system properties map.
2271 * <p>
2272 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2273 * </p>
2274 *
2275 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2276 * @since 3.15.0
2277 */
2278 public static String getJavaNioChannelsSpiAsynchronousChannelProvider() {
2279 return getProperty(JAVA_NIO_CHANNELS_SPI_ASYNCHRONOUS_CHANNEL_PROVIDER);
2280 }
2281
2282 /**
2283 * Gets the current value from the system properties map.
2284 * <p>
2285 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2286 * </p>
2287 *
2288 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2289 * @since 3.15.0
2290 */
2291 public static String getJavaNioChannelsSpiSelectorProvider() {
2292 return getProperty(JAVA_NIO_CHANNELS_SPI_SELECTOR_PROVIDER);
2293 }
2294
2295 /**
2296 * Gets the current value from the system properties map.
2297 * <p>
2298 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2299 * </p>
2300 *
2301 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2302 * @since 3.15.0
2303 */
2304 public static String getJavaNioFileSpiDefaultFileSystemProvider() {
2305 return getProperty(JAVA_NIO_FILE_SPI_DEFAULT_FILE_SYSTEM_PROVIDER);
2306 }
2307
2308 /**
2309 * Gets the current value from the system properties map.
2310 * <p>
2311 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2312 * </p>
2313 *
2314 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2315 * @since 3.15.0
2316 */
2317 public static String getJavaPropertiesDate() {
2318 return getProperty(JAVA_PROPERTIES_DATE);
2319 }
2320
2321 /**
2322 * Gets the current value from the system properties map.
2323 * <p>
2324 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2325 * </p>
2326 *
2327 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2328 * @since 3.15.0
2329 */
2330 public static String getJavaProtocolHandlerPkgs() {
2331 return getProperty(JAVA_PROTOCOL_HANDLER_PKGS);
2332 }
2333
2334 /**
2335 * Gets the current value from the system properties map.
2336 * <p>
2337 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2338 * </p>
2339 *
2340 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2341 * @since 3.15.0
2342 */
2343 public static String getJavaRmiServerCodebase() {
2344 return getProperty(JAVA_RMI_SERVER_CODEBASE);
2345 }
2346
2347 /**
2348 * Gets the current value from the system properties map.
2349 * <p>
2350 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2351 * </p>
2352 *
2353 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2354 * @since 3.15.0
2355 */
2356 public static String getJavaRmiServerHostName() {
2357 return getProperty(JAVA_RMI_SERVER_HOST_NAME);
2358 }
2359
2360 /**
2361 * Gets the current value from the system properties map.
2362 * <p>
2363 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2364 * </p>
2365 *
2366 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2367 * @since 3.15.0
2368 */
2369 public static String getJavaRmiServerRandomIds() {
2370 return getProperty(JAVA_RMI_SERVER_RANDOM_IDS);
2371 }
2372
2373 /**
2374 * Gets the current value from the system properties map.
2375 * <p>
2376 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2377 * </p>
2378 *
2379 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2380 * @since 3.15.0
2381 */
2382 public static String getJavaRmiServerRmiClassLoaderSpi() {
2383 return getProperty(JAVA_RMI_SERVER_RMI_CLASS_LOADER_SPI);
2384 }
2385
2386 /**
2387 * Gets the current value from the system properties map.
2388 * <p>
2389 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2390 * </p>
2391 *
2392 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2393 */
2394 public static String getJavaRuntimeName() {
2395 return getProperty(JAVA_RUNTIME_NAME);
2396 }
2397
2398 /**
2399 * Gets the current value from the system properties map.
2400 * <p>
2401 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2402 * </p>
2403 *
2404 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2405 */
2406 public static String getJavaRuntimeVersion() {
2407 return getProperty(JAVA_RUNTIME_VERSION);
2408 }
2409
2410 /**
2411 * Gets the current value from the system properties map.
2412 * <p>
2413 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2414 * </p>
2415 *
2416 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2417 * @since 3.15.0
2418 */
2419 public static String getJavaSecurityAuthLoginConfig() {
2420 return getProperty(JAVA_SECURITY_AUTH_LOGIN_CONFIG);
2421 }
2422
2423 /**
2424 * Gets the current value from the system properties map.
2425 * <p>
2426 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2427 * </p>
2428 *
2429 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2430 * @since 3.15.0
2431 */
2432 public static String getJavaSecurityManager() {
2433 return getProperty(JAVA_SECURITY_MANAGER);
2434 }
2435
2436 /**
2437 * Gets the current value from the system properties map.
2438 * <p>
2439 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2440 * </p>
2441 *
2442 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2443 * @since 3.15.0
2444 */
2445 public static String getJavaSpecificationMaintenanceVersion() {
2446 return getProperty(JAVA_SPECIFICATION_MAINTENANCE_VERSION);
2447 }
2448
2449 /**
2450 * Gets the current value from the system properties map.
2451 * <p>
2452 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2453 * </p>
2454 *
2455 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2456 */
2457 public static String getJavaSpecificationName() {
2458 return getProperty(JAVA_SPECIFICATION_NAME);
2459 }
2460
2461 /**
2462 * Gets the current value from the system properties map.
2463 * <p>
2464 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2465 * </p>
2466 *
2467 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2468 */
2469 public static String getJavaSpecificationVendor() {
2470 return getProperty(JAVA_SPECIFICATION_VENDOR);
2471 }
2472
2473 /**
2474 * Gets the current value from the system properties map.
2475 * <p>
2476 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2477 * </p>
2478 *
2479 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2480 */
2481 public static String getJavaSpecificationVersion() {
2482 return getProperty(JAVA_SPECIFICATION_VERSION);
2483 }
2484
2485 /**
2486 * Gets the current value from the system properties map for {@value #JAVA_SPECIFICATION_VERSION}.
2487 * <p>
2488 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2489 * </p>
2490 *
2491 * @param defaultValue get this Supplier when the property is empty or throws SecurityException.
2492 * @return The system property value or {@code defaultValue} if the property is absent or a security problem occurs.
2493 * @since 3.15.0
2494 */
2495 public static String getJavaSpecificationVersion(final String defaultValue) {
2496 return getProperty(JAVA_SPECIFICATION_VERSION, defaultValue);
2497 }
2498
2499 /**
2500 * Gets the current value from the system properties map for {@value #JAVA_SYSTEM_CLASS_LOADER}.
2501 * <p>
2502 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2503 * </p>
2504 *
2505 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2506 * @since 3.15.0
2507 */
2508 public static String getJavaSystemClassLoader() {
2509 return getProperty(JAVA_SYSTEM_CLASS_LOADER);
2510 }
2511
2512 /**
2513 * Gets the current value from the system properties map for {@value #JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER}.
2514 * <p>
2515 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2516 * </p>
2517 *
2518 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2519 * @since 3.15.0
2520 */
2521 public static String getJavaTimeZoneDefaultZoneRulesProvider() {
2522 return getProperty(JAVA_TIME_ZONE_DEFAULT_ZONE_RULES_PROVIDER);
2523 }
2524
2525 /**
2526 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER}.
2527 * <p>
2528 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2529 * </p>
2530 *
2531 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2532 * @since 3.15.0
2533 */
2534 public static String getJavaUtilConcurrentForkJoinPoolCommonExceptionHandler() {
2535 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_EXCEPTION_HANDLER);
2536 }
2537
2538 /**
2539 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES}.
2540 * <p>
2541 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2542 * </p>
2543 *
2544 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2545 * @since 3.15.0
2546 */
2547 public static String getJavaUtilConcurrentForkJoinPoolCommonMaximumSpares() {
2548 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_MAXIMUM_SPARES);
2549 }
2550
2551 /**
2552 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM}.
2553 * <p>
2554 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2555 * </p>
2556 *
2557 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2558 * @since 3.15.0
2559 */
2560 public static String getJavaUtilConcurrentForkJoinPoolCommonParallelism() {
2561 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_PARALLELISM);
2562 }
2563
2564 /**
2565 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY}.
2566 * <p>
2567 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2568 * </p>
2569 *
2570 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2571 * @since 3.15.0
2572 */
2573 public static String getJavaUtilConcurrentForkJoinPoolCommonThreadFactory() {
2574 return getProperty(JAVA_UTIL_CONCURRENT_FORK_JOIN_POOL_COMMON_THREAD_FACTORY);
2575 }
2576
2577 /**
2578 * Gets the current value from the system properties map for {@value #JAVA_UTIL_CURRENCY_DATA}.
2579 * <p>
2580 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2581 * </p>
2582 *
2583 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2584 * @since 3.15.0
2585 */
2586 public static String getJavaUtilCurrencyData() {
2587 return getProperty(JAVA_UTIL_CURRENCY_DATA);
2588 }
2589
2590 /**
2591 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_CONFIG_CLASS}.
2592 * <p>
2593 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2594 * </p>
2595 *
2596 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2597 * @since 3.15.0
2598 */
2599 public static String getJavaUtilLoggingConfigClass() {
2600 return getProperty(JAVA_UTIL_LOGGING_CONFIG_CLASS);
2601 }
2602
2603 /**
2604 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_CONFIG_FILE}.
2605 * <p>
2606 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2607 * </p>
2608 *
2609 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2610 * @since 3.15.0
2611 */
2612 public static String getJavaUtilLoggingConfigFile() {
2613 return getProperty(JAVA_UTIL_LOGGING_CONFIG_FILE);
2614 }
2615
2616 /**
2617 * Gets the current value from the system properties map for {@value #JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT}.
2618 * <p>
2619 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2620 * </p>
2621 *
2622 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2623 * @since 3.15.0
2624 */
2625 public static String getJavaUtilLoggingSimpleFormatterFormat() {
2626 return getProperty(JAVA_UTIL_LOGGING_SIMPLE_FORMATTER_FORMAT);
2627 }
2628
2629 /**
2630 * Gets the current value from the system properties map for {@value #JAVA_UTIL_PREFS_PREFERENCES_FACTORY}.
2631 * <p>
2632 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2633 * </p>
2634 *
2635 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2636 */
2637 public static String getJavaUtilPrefsPreferencesFactory() {
2638 return getProperty(JAVA_UTIL_PREFS_PREFERENCES_FACTORY);
2639 }
2640
2641 /**
2642 * Gets the current value from the system properties map for {@value #JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING}.
2643 * <p>
2644 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2645 * </p>
2646 *
2647 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2648 * @since 3.15.0
2649 */
2650 public static String getJavaUtilPropertyResourceBundleEncoding() {
2651 return getProperty(JAVA_UTIL_PROPERTY_RESOURCE_BUNDLE_ENCODING);
2652 }
2653
2654 /**
2655 * Gets the current value from the system properties map for {@value #JAVA_VENDOR}.
2656 * <p>
2657 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2658 * </p>
2659 *
2660 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2661 */
2662 public static String getJavaVendor() {
2663 return getProperty(JAVA_VENDOR);
2664 }
2665
2666 /**
2667 * Gets the current value from the system properties map for {@value #JAVA_VENDOR_URL}.
2668 * <p>
2669 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2670 * </p>
2671 *
2672 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2673 */
2674 public static String getJavaVendorUrl() {
2675 return getProperty(JAVA_VENDOR_URL);
2676 }
2677
2678 /**
2679 * Gets the current value from the system properties map for {@value #JAVA_VENDOR_VERSION}.
2680 * <p>
2681 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2682 * </p>
2683 *
2684 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2685 * @since 3.15.0
2686 */
2687 public static String getJavaVendorVersion() {
2688 return getProperty(JAVA_VENDOR_VERSION);
2689 }
2690
2691 /**
2692 * Gets the current value from the system properties map for {@value #JAVA_VERSION}.
2693 * <p>
2694 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2695 * </p>
2696 *
2697 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2698 */
2699 public static String getJavaVersion() {
2700 return getProperty(JAVA_VERSION);
2701 }
2702
2703 /**
2704 * Gets the current value from the system properties map for {@value #JAVA_VERSION_DATE}.
2705 * <p>
2706 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2707 * </p>
2708 *
2709 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2710 * @since 3.15.0
2711 */
2712 public static String getJavaVersionDate() {
2713 return getProperty(JAVA_VERSION_DATE);
2714 }
2715
2716 /**
2717 * Gets the current value from the system properties map for {@value #JAVA_VM_INFO}.
2718 * <p>
2719 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2720 * </p>
2721 *
2722 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2723 */
2724 public static String getJavaVmInfo() {
2725 return getProperty(JAVA_VM_INFO);
2726 }
2727
2728 /**
2729 * Gets the current value from the system properties map for {@value #JAVA_VM_NAME}.
2730 * <p>
2731 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2732 * </p>
2733 *
2734 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2735 */
2736 public static String getJavaVmName() {
2737 return getProperty(JAVA_VM_NAME);
2738 }
2739
2740 /**
2741 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_NAME}.
2742 * <p>
2743 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2744 * </p>
2745 *
2746 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2747 */
2748 public static String getJavaVmSpecificationName() {
2749 return getProperty(JAVA_VM_SPECIFICATION_NAME);
2750 }
2751
2752 /**
2753 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_VENDOR}.
2754 * <p>
2755 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2756 * </p>
2757 *
2758 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2759 */
2760 public static String getJavaVmSpecificationVendor() {
2761 return getProperty(JAVA_VM_SPECIFICATION_VENDOR);
2762 }
2763
2764 /**
2765 * Gets the current value from the system properties map for {@value #JAVA_VM_SPECIFICATION_VERSION}.
2766 * <p>
2767 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2768 * </p>
2769 *
2770 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2771 */
2772 public static String getJavaVmSpecificationVersion() {
2773 return getProperty(JAVA_VM_SPECIFICATION_VERSION);
2774 }
2775
2776 /**
2777 * Gets the current value from the system properties map for {@value #JAVA_VM_VENDOR}.
2778 * <p>
2779 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2780 * </p>
2781 *
2782 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2783 */
2784 public static String getJavaVmVendor() {
2785 return getProperty(JAVA_VM_VENDOR);
2786 }
2787
2788 /**
2789 * Gets the current value from the system properties map for {@value #JAVA_VM_VERSION}.
2790 * <p>
2791 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2792 * </p>
2793 *
2794 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2795 */
2796 public static String getJavaVmVersion() {
2797 return getProperty(JAVA_VM_VERSION);
2798 }
2799
2800 /**
2801 * Gets the current value from the system properties map for {@value #JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES}.
2802 * <p>
2803 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2804 * </p>
2805 *
2806 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2807 * @since 3.15.0
2808 */
2809 public static String getJavaxAccessibilityAssistiveTechnologies() {
2810 return getProperty(JAVAX_ACCESSIBILITY_ASSISTIVE_TECHNOLOGIES);
2811 }
2812
2813 /**
2814 * Gets the current value from the system properties map for {@value #JAVA_XML_CONFIG_FILE}.
2815 * <p>
2816 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2817 * </p>
2818 *
2819 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2820 * @since 3.15.0
2821 */
2822 public static String getJavaXmlConfigFile() {
2823 return getProperty(JAVA_XML_CONFIG_FILE);
2824 }
2825
2826 /**
2827 * Gets the current value from the system properties map for {@value #JAVAX_NET_SSL_SESSION_CACHE_SIZE}.
2828 * <p>
2829 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2830 * </p>
2831 *
2832 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2833 * @since 3.15.0
2834 */
2835 public static String getJavaxNetSslSessionCacheSize() {
2836 return getProperty(JAVAX_NET_SSL_SESSION_CACHE_SIZE);
2837 }
2838
2839 /**
2840 * Gets the current value from the system properties map for {@value #JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES}.
2841 * <p>
2842 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2843 * </p>
2844 *
2845 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2846 * @since 3.15.0
2847 */
2848 public static String getJavaxRmiSslClientEnabledCipherSuites() {
2849 return getProperty(JAVAX_RMI_SSL_CLIENT_ENABLED_CIPHER_SUITES);
2850 }
2851
2852 /**
2853 * Gets the current value from the system properties map for {@value #JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS}.
2854 * <p>
2855 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2856 * </p>
2857 *
2858 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2859 * @since 3.15.0
2860 */
2861 public static String getJavaxRmiSslClientEnabledProtocols() {
2862 return getProperty(JAVAX_RMI_SSL_CLIENT_ENABLED_PROTOCOLS);
2863 }
2864
2865 /**
2866 * Gets the current value from the system properties map for {@value #JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY}.
2867 * <p>
2868 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2869 * </p>
2870 *
2871 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2872 * @since 3.15.0
2873 */
2874 public static String getJavaxSecurityAuthUseSubjectCredsOnly() {
2875 return getProperty(JAVAX_SECURITY_AUTH_USE_SUBJECT_CREDS_ONLY);
2876 }
2877
2878 /**
2879 * Gets the current value from the system properties map for {@value #JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE}.
2880 * <p>
2881 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2882 * </p>
2883 *
2884 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2885 * @since 3.15.0
2886 */
2887 public static String getJavaxSmartCardIoTerminalFactoryDefaultType() {
2888 return getProperty(JAVAX_SMART_CARD_IO_TERMINAL_FACTORY_DEFAULT_TYPE);
2889 }
2890
2891 /**
2892 * Gets the current value from the system properties map for {@value #JDBC_DRIVERS}.
2893 * <p>
2894 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2895 * </p>
2896 *
2897 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2898 * @since 3.15.0
2899 */
2900 public static String getJdbcDrivers() {
2901 return getProperty(JDBC_DRIVERS);
2902 }
2903
2904 /**
2905 * Gets the current value from the system properties map for {@value #JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES}.
2906 * <p>
2907 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2908 * </p>
2909 *
2910 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2911 * @since 3.15.0
2912 */
2913 public static String getJdkHttpAuthProxyingDisabledSchemes() {
2914 return getProperty(JDK_HTTP_AUTH_PROXYING_DISABLED_SCHEMES);
2915 }
2916
2917 /**
2918 * Gets the current value from the system properties map for {@value #JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES}.
2919 * <p>
2920 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2921 * </p>
2922 *
2923 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2924 * @since 3.15.0
2925 */
2926 public static String getJdkHttpAuthTunnelingDisabledSchemes() {
2927 return getProperty(JDK_HTTP_AUTH_TUNNELING_DISABLED_SCHEMES);
2928 }
2929
2930 /**
2931 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS}.
2932 * <p>
2933 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2934 * </p>
2935 *
2936 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2937 * @since 3.15.0
2938 */
2939 public static String getJdkHttpClientAllowRestrictedHeaders() {
2940 return getProperty(JDK_HTTP_CLIENT_ALLOW_RESTRICTED_HEADERS);
2941 }
2942
2943 /**
2944 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT}.
2945 * <p>
2946 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2947 * </p>
2948 *
2949 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2950 * @since 3.15.0
2951 */
2952 public static String getJdkHttpClientAuthRetryLimit() {
2953 return getProperty(JDK_HTTP_CLIENT_AUTH_RETRY_LIMIT);
2954 }
2955
2956 /**
2957 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_BUF_SIZE}.
2958 * <p>
2959 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2960 * </p>
2961 *
2962 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2963 * @since 3.15.0
2964 */
2965 public static String getJdkHttpClientBufSize() {
2966 return getProperty(JDK_HTTP_CLIENT_BUF_SIZE);
2967 }
2968
2969 /**
2970 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE}.
2971 * <p>
2972 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2973 * </p>
2974 *
2975 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2976 * @since 3.15.0
2977 */
2978 public static String getJdkHttpClientConnectionPoolSize() {
2979 return getProperty(JDK_HTTP_CLIENT_CONNECTION_POOL_SIZE);
2980 }
2981
2982 /**
2983 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE}.
2984 * <p>
2985 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2986 * </p>
2987 *
2988 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
2989 * @since 3.15.0
2990 */
2991 public static String getJdkHttpClientConnectionWindowSize() {
2992 return getProperty(JDK_HTTP_CLIENT_CONNECTION_WINDOW_SIZE);
2993 }
2994
2995 /**
2996 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT}.
2997 * <p>
2998 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
2999 * </p>
3000 *
3001 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3002 * @since 3.15.0
3003 */
3004 public static String getJdkHttpClientDisableRetryConnect() {
3005 return getProperty(JDK_HTTP_CLIENT_DISABLE_RETRY_CONNECT);
3006 }
3007
3008 /**
3009 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY}.
3010 * <p>
3011 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3012 * </p>
3013 *
3014 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3015 * @since 3.15.0
3016 */
3017 public static String getJdkHttpClientEnableAllMethodRetry() {
3018 return getProperty(JDK_HTTP_CLIENT_ENABLE_ALL_METHOD_RETRY);
3019 }
3020
3021 /**
3022 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_ENABLE_PUSH}.
3023 * <p>
3024 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3025 * </p>
3026 *
3027 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3028 * @since 3.15.0
3029 */
3030 public static String getJdkHttpClientEnablePush() {
3031 return getProperty(JDK_HTTP_CLIENT_ENABLE_PUSH);
3032 }
3033
3034 /**
3035 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE}.
3036 * <p>
3037 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3038 * </p>
3039 *
3040 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3041 * @since 3.15.0
3042 */
3043 public static String getJdkHttpClientHpackMaxHeaderTableSize() {
3044 return getProperty(JDK_HTTP_CLIENT_HPACK_MAX_HEADER_TABLE_SIZE);
3045 }
3046
3047 /**
3048 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_HTTP_CLIENT_LOG}.
3049 * <p>
3050 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3051 * </p>
3052 *
3053 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3054 * @since 3.15.0
3055 */
3056 public static String getJdkHttpClientHttpClientLog() {
3057 return getProperty(JDK_HTTP_CLIENT_HTTP_CLIENT_LOG);
3058 }
3059
3060 /**
3061 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT}.
3062 * <p>
3063 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3064 * </p>
3065 *
3066 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3067 * @since 3.15.0
3068 */
3069 public static String getJdkHttpClientKeepAliveTimeout() {
3070 return getProperty(JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT);
3071 }
3072
3073 /**
3074 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2}.
3075 * <p>
3076 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3077 * </p>
3078 *
3079 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3080 * @since 3.15.0
3081 */
3082 public static String getJdkHttpClientKeepAliveTimeoutH2() {
3083 return getProperty(JDK_HTTP_CLIENT_KEEP_ALIVE_TIMEOUT_H2);
3084 }
3085
3086 /**
3087 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_MAX_FRAME_SIZE}.
3088 * <p>
3089 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3090 * </p>
3091 *
3092 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3093 * @since 3.15.0
3094 */
3095 public static String getJdkHttpClientMaxFrameSize() {
3096 return getProperty(JDK_HTTP_CLIENT_MAX_FRAME_SIZE);
3097 }
3098
3099 /**
3100 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_MAX_STREAMS}.
3101 * <p>
3102 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3103 * </p>
3104 *
3105 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3106 * @since 3.15.0
3107 */
3108 public static String getJdkHttpClientMaxStreams() {
3109 return getProperty(JDK_HTTP_CLIENT_MAX_STREAMS);
3110 }
3111
3112 /**
3113 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE}.
3114 * <p>
3115 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3116 * </p>
3117 *
3118 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3119 * @since 3.15.0
3120 */
3121 public static String getJdkHttpClientReceiveBufferSize() {
3122 return getProperty(JDK_HTTP_CLIENT_RECEIVE_BUFFER_SIZE);
3123 }
3124
3125 /**
3126 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT}.
3127 * <p>
3128 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3129 * </p>
3130 *
3131 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3132 * @since 3.15.0
3133 */
3134 public static String getJdkHttpClientRedirectsRetryLimit() {
3135 return getProperty(JDK_HTTP_CLIENT_REDIRECTS_RETRY_LIMIT);
3136 }
3137
3138 /**
3139 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_SEND_BUFFER_SIZE}.
3140 * <p>
3141 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3142 * </p>
3143 *
3144 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3145 * @since 3.15.0
3146 */
3147 public static String getJdkHttpClientSendBufferSize() {
3148 return getProperty(JDK_HTTP_CLIENT_SEND_BUFFER_SIZE);
3149 }
3150
3151 /**
3152 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE}.
3153 * <p>
3154 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3155 * </p>
3156 *
3157 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3158 * @since 3.15.0
3159 */
3160 public static String getJdkHttpClientWebSocketWriteBufferSize() {
3161 return getProperty(JDK_HTTP_CLIENT_WEB_SOCKET_WRITE_BUFFER_SIZE);
3162 }
3163
3164 /**
3165 * Gets the current value from the system properties map for {@value #JDK_HTTP_CLIENT_WINDOW_SIZE}.
3166 * <p>
3167 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3168 * </p>
3169 *
3170 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3171 * @since 3.15.0
3172 */
3173 public static String getJdkHttpClientWindowSize() {
3174 return getProperty(JDK_HTTP_CLIENT_WINDOW_SIZE);
3175 }
3176
3177 /**
3178 * Gets the current value from the system properties map for {@value #JDK_HTTP_SERVER_MAX_CONNECTIONS}.
3179 * <p>
3180 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3181 * </p>
3182 *
3183 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3184 * @since 3.15.0
3185 */
3186 public static String getJdkHttpServerMaxConnections() {
3187 return getProperty(JDK_HTTP_SERVER_MAX_CONNECTIONS);
3188 }
3189
3190 /**
3191 * Gets the current value from the system properties map for {@value #JDK_HTTPS_NEGOTIATE_CBT}.
3192 * <p>
3193 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3194 * </p>
3195 *
3196 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3197 * @since 3.15.0
3198 */
3199 public static String getJdkHttpsNegotiateCbt() {
3200 return getProperty(JDK_HTTPS_NEGOTIATE_CBT);
3201 }
3202
3203 /**
3204 * Gets the current value from the system properties map for {@value #JDK_INCLUDE_IN_EXCEPTIONS}.
3205 * <p>
3206 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3207 * </p>
3208 *
3209 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3210 * @since 3.15.0
3211 */
3212 public static String getJdkIncludeInExceptions() {
3213 return getProperty(JDK_INCLUDE_IN_EXCEPTIONS);
3214 }
3215
3216 /**
3217 * Gets the current value from the system properties map for {@value #JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION}.
3218 * <p>
3219 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3220 * </p>
3221 *
3222 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3223 * @since 3.15.0
3224 */
3225 public static String getJdkInternalHttpClientDisableHostNameVerification() {
3226 return getProperty(JDK_INTERNAL_HTTP_CLIENT_DISABLE_HOST_NAME_VERIFICATION);
3227 }
3228
3229 /**
3230 * Gets the current value from the system properties map for {@value #JDK_IO_PERMISSIONS_USE_CANONICAL_PATH}.
3231 * <p>
3232 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3233 * </p>
3234 *
3235 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3236 * @since 3.15.0
3237 */
3238 public static String getJdkIoPermissionsUseCanonicalPath() {
3239 return getProperty(JDK_IO_PERMISSIONS_USE_CANONICAL_PATH);
3240 }
3241
3242 /**
3243 * Gets the current value from the system properties map for {@value #JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER}.
3244 * <p>
3245 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3246 * </p>
3247 *
3248 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3249 * @since 3.15.0
3250 */
3251 public static String getJdkJndiLdapObjectFactoriesFilter() {
3252 return getProperty(JDK_JNDI_LDAP_OBJECT_FACTORIES_FILTER);
3253 }
3254
3255 /**
3256 * Gets the current value from the system properties map for {@value #JDK_JNDI_OBJECT_FACTORIES_FILTER}.
3257 * <p>
3258 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3259 * </p>
3260 *
3261 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3262 * @since 3.15.0
3263 */
3264 public static String getJdkJndiObjectFactoriesFilter() {
3265 return getProperty(JDK_JNDI_OBJECT_FACTORIES_FILTER);
3266 }
3267
3268 /**
3269 * Gets the current value from the system properties map for {@value #JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER}.
3270 * <p>
3271 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3272 * </p>
3273 *
3274 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3275 * @since 3.15.0
3276 */
3277 public static String getJdkJndiRmiObjectFactoriesFilter() {
3278 return getProperty(JDK_JNDI_RMI_OBJECT_FACTORIES_FILTER);
3279 }
3280
3281 /**
3282 * Gets the current value from the system properties map for {@value #JDK_MODULE_MAIN}.
3283 * <p>
3284 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3285 * </p>
3286 *
3287 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3288 * @since 3.15.0
3289 */
3290 public static String getJdkModuleMain() {
3291 return getProperty(JDK_MODULE_MAIN);
3292 }
3293
3294 /**
3295 * Gets the current value from the system properties map for {@value #JDK_MODULE_MAIN_CLASS}.
3296 * <p>
3297 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3298 * </p>
3299 *
3300 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3301 * @since 3.15.0
3302 */
3303 public static String getJdkModuleMainClass() {
3304 return getProperty(JDK_MODULE_MAIN_CLASS);
3305 }
3306
3307 /**
3308 * Gets the current value from the system properties map for {@value #JDK_MODULE_PATH}.
3309 * <p>
3310 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3311 * </p>
3312 *
3313 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3314 * @since 3.15.0
3315 */
3316 public static String getJdkModulePath() {
3317 return getProperty(JDK_MODULE_PATH);
3318 }
3319
3320 /**
3321 * Gets the current value from the system properties map for {@value #JDK_MODULE_UPGRADE_PATH}.
3322 * <p>
3323 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3324 * </p>
3325 *
3326 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3327 * @since 3.15.0
3328 */
3329 public static String getJdkModuleUpgradePath() {
3330 return getProperty(JDK_MODULE_UPGRADE_PATH);
3331 }
3332
3333 /**
3334 * Gets the current value from the system properties map for {@value #JDK_NET_UNIX_DOMAIN_TMPDIR}.
3335 * <p>
3336 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3337 * </p>
3338 *
3339 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3340 * @since 3.15.0
3341 */
3342 public static String getJdkNetUnixDomainTmpDir() {
3343 return getProperty(JDK_NET_UNIX_DOMAIN_TMPDIR);
3344 }
3345
3346 /**
3347 * Gets the current value from the system properties map for {@value #JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES}.
3348 * <p>
3349 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3350 * </p>
3351 *
3352 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3353 * @since 3.15.0
3354 */
3355 public static String getJdkNetUrlClassPathShowIgnoredClassPathEntries() {
3356 return getProperty(JDK_NET_URL_CLASS_PATH_SHOW_IGNORED_CLASS_PATH_ENTRIES);
3357 }
3358
3359 /**
3360 * Gets the current value from the system properties map for {@value #JDK_SERIAL_FILTER}.
3361 * <p>
3362 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3363 * </p>
3364 *
3365 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3366 * @since 3.15.0
3367 */
3368 public static String getJdkSerialFilter() {
3369 return getProperty(JDK_SERIAL_FILTER);
3370 }
3371
3372 /**
3373 * Gets the current value from the system properties map for {@value #JDK_SERIAL_FILTER_FACTORY}.
3374 * <p>
3375 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3376 * </p>
3377 *
3378 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3379 * @since 3.15.0
3380 */
3381 public static String getJdkSerialFilterFactory() {
3382 return getProperty(JDK_SERIAL_FILTER_FACTORY);
3383 }
3384
3385 /**
3386 * Gets the current value from the system properties map for {@value #JDK_TLS_CLIENT_SIGNATURE_SCHEMES}.
3387 * <p>
3388 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3389 * </p>
3390 *
3391 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3392 * @since 3.15.0
3393 */
3394 public static String getJdkTlsClientSignatureSchemes() {
3395 return getProperty(JDK_TLS_CLIENT_SIGNATURE_SCHEMES);
3396 }
3397
3398 /**
3399 * Gets the current value from the system properties map for {@value #JDK_TLS_NAMED_GROUPS}.
3400 * <p>
3401 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3402 * </p>
3403 *
3404 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3405 * @since 3.15.0
3406 */
3407 public static String getJdkTlsNamedGroups() {
3408 return getProperty(JDK_TLS_NAMED_GROUPS);
3409 }
3410
3411 /**
3412 * Gets the current value from the system properties map for {@value #JDK_TLS_SERVER_SIGNATURE_SCHEMES}.
3413 * <p>
3414 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3415 * </p>
3416 *
3417 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3418 * @since 3.15.0
3419 */
3420 public static String getJdkTlsServerSignatureSchemes() {
3421 return getProperty(JDK_TLS_SERVER_SIGNATURE_SCHEMES);
3422 }
3423
3424 /**
3425 * Gets the current value from the system properties map for {@value #JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE}.
3426 * <p>
3427 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3428 * </p>
3429 *
3430 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3431 * @since 3.15.0
3432 */
3433 public static String getJdkVirtualThreadSchedulerMaxPoolSize() {
3434 return getProperty(JDK_VIRTUAL_THREAD_SCHEDULER_MAXPOOLSIZE);
3435 }
3436
3437 /**
3438 * Gets the current value from the system properties map for {@value #JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM}.
3439 * <p>
3440 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3441 * </p>
3442 *
3443 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3444 * @since 3.15.0
3445 */
3446 public static String getJdkVirtualThreadSchedulerParallelism() {
3447 return getProperty(JDK_VIRTUAL_THREAD_SCHEDULER_PARALLELISM);
3448 }
3449
3450 /**
3451 * Gets the current value from the system properties map for {@value #JDK_XML_CDATA_CHUNK_SIZE}.
3452 * <p>
3453 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3454 * </p>
3455 *
3456 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3457 * @since 3.15.0
3458 */
3459 public static String getJdkXmlCdataChunkSize() {
3460 return getProperty(JDK_XML_CDATA_CHUNK_SIZE);
3461 }
3462
3463 /**
3464 * Gets the current value from the system properties map for {@value #JDK_XML_DTD_SUPPORT}.
3465 * <p>
3466 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3467 * </p>
3468 *
3469 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3470 * @since 3.15.0
3471 */
3472 public static String getJdkXmlDtdSupport() {
3473 return getProperty(JDK_XML_DTD_SUPPORT);
3474 }
3475
3476 /**
3477 * Gets the current value from the system properties map for {@value #JDK_XML_ELEMENT_ATTRIBUTE_LIMIT}.
3478 * <p>
3479 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3480 * </p>
3481 *
3482 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3483 * @since 3.15.0
3484 */
3485 public static String getJdkXmlElementAttributeLimit() {
3486 return getProperty(JDK_XML_ELEMENT_ATTRIBUTE_LIMIT);
3487 }
3488
3489 /**
3490 * Gets the current value from the system properties map for {@value #JDK_XML_ENABLE_EXTENSION_FUNCTIONS}.
3491 * <p>
3492 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3493 * </p>
3494 *
3495 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3496 * @since 3.15.0
3497 */
3498 public static String getJdkXmlEnableExtensionFunctions() {
3499 return getProperty(JDK_XML_ENABLE_EXTENSION_FUNCTIONS);
3500 }
3501
3502 /**
3503 * Gets the current value from the system properties map for {@value #JDK_XML_ENTITY_EXPANSION_LIMIT}.
3504 * <p>
3505 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3506 * </p>
3507 *
3508 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3509 * @since 3.15.0
3510 */
3511 public static String getJdkXmlEntityExpansionLimit() {
3512 return getProperty(JDK_XML_ENTITY_EXPANSION_LIMIT);
3513 }
3514
3515 /**
3516 * Gets the current value from the system properties map for {@value #JDK_XML_ENTITY_REPLACEMENT_LIMIT}.
3517 * <p>
3518 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3519 * </p>
3520 *
3521 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3522 * @since 3.15.0
3523 */
3524 public static String getJdkXmlEntityReplacementLimit() {
3525 return getProperty(JDK_XML_ENTITY_REPLACEMENT_LIMIT);
3526 }
3527
3528 /**
3529 * Gets the current value from the system properties map for {@value #JDK_XML_IS_STANDALONE}.
3530 * <p>
3531 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3532 * </p>
3533 *
3534 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3535 * @since 3.15.0
3536 */
3537 public static String getJdkXmlIsStandalone() {
3538 return getProperty(JDK_XML_IS_STANDALONE);
3539 }
3540
3541 /**
3542 * Gets the current value from the system properties map for {@value #JDK_XML_JDK_CATALOG_RESOLVE}.
3543 * <p>
3544 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3545 * </p>
3546 *
3547 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3548 * @since 3.15.0
3549 */
3550 public static String getJdkXmlJdkCatalogResolve() {
3551 return getProperty(JDK_XML_JDK_CATALOG_RESOLVE);
3552 }
3553
3554 /**
3555 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_ELEMENT_DEPTH}.
3556 * <p>
3557 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3558 * </p>
3559 *
3560 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3561 * @since 3.15.0
3562 */
3563 public static String getJdkXmlMaxElementDepth() {
3564 return getProperty(JDK_XML_MAX_ELEMENT_DEPTH);
3565 }
3566
3567 /**
3568 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT}.
3569 * <p>
3570 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3571 * </p>
3572 *
3573 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3574 * @since 3.15.0
3575 */
3576 public static String getJdkXmlMaxGeneralEntitySizeLimit() {
3577 return getProperty(JDK_XML_MAX_GENERAL_ENTITY_SIZE_LIMIT);
3578 }
3579
3580 /**
3581 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_OCCUR_LIMIT}.
3582 * <p>
3583 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3584 * </p>
3585 *
3586 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3587 * @since 3.15.0
3588 */
3589 public static String getJdkXmlMaxOccurLimit() {
3590 return getProperty(JDK_XML_MAX_OCCUR_LIMIT);
3591 }
3592
3593 /**
3594 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT}.
3595 * <p>
3596 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3597 * </p>
3598 *
3599 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3600 * @since 3.15.0
3601 */
3602 public static String getJdkXmlMaxParameterEntitySizeLimit() {
3603 return getProperty(JDK_XML_MAX_PARAMETER_ENTITY_SIZE_LIMIT);
3604 }
3605
3606 /**
3607 * Gets the current value from the system properties map for {@value #JDK_XML_MAX_XML_NAME_LIMIT}.
3608 * <p>
3609 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3610 * </p>
3611 *
3612 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3613 * @since 3.15.0
3614 */
3615 public static String getJdkXmlMaxXmlNameLimit() {
3616 return getProperty(JDK_XML_MAX_XML_NAME_LIMIT);
3617 }
3618
3619 /**
3620 * Gets the current value from the system properties map for {@value #JDK_XML_OVERRIDE_DEFAULT_PARSER}.
3621 * <p>
3622 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3623 * </p>
3624 *
3625 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3626 * @since 3.15.0
3627 */
3628 public static String getJdkXmlOverrideDefaultParser() {
3629 return getProperty(JDK_XML_OVERRIDE_DEFAULT_PARSER);
3630 }
3631
3632 /**
3633 * Gets the current value from the system properties map for {@value #JDK_XML_RESET_SYMBOL_TABLE}.
3634 * <p>
3635 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3636 * </p>
3637 *
3638 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3639 * @since 3.15.0
3640 */
3641 public static String getJdkXmlResetSymbolTable() {
3642 return getProperty(JDK_XML_RESET_SYMBOL_TABLE);
3643 }
3644
3645 /**
3646 * Gets the current value from the system properties map for {@value #JDK_XML_TOTAL_ENTITY_SIZE_LIMIT}.
3647 * <p>
3648 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3649 * </p>
3650 *
3651 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3652 * @since 3.15.0
3653 */
3654 public static String getJdkXmlTotalEntitySizeLimit() {
3655 return getProperty(JDK_XML_TOTAL_ENTITY_SIZE_LIMIT);
3656 }
3657
3658 /**
3659 * Gets the current value from the system properties map for {@value #JDK_XML_XSLTC_IS_STANDALONE}.
3660 * <p>
3661 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3662 * </p>
3663 *
3664 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3665 * @since 3.15.0
3666 */
3667 public static String getJdkXmlXsltcIsStandalone() {
3668 return getProperty(JDK_XML_XSLTC_IS_STANDALONE);
3669 }
3670
3671 /**
3672 * Gets the current value from the system properties map for {@value #LINE_SEPARATOR}.
3673 * <p>
3674 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3675 * </p>
3676 *
3677 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3678 */
3679 public static String getLineSeparator() {
3680 return getProperty(LINE_SEPARATOR);
3681 }
3682
3683 /**
3684 * Gets the current value from the system properties map for {@value #LINE_SEPARATOR}.
3685 * <p>
3686 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3687 * </p>
3688 *
3689 * @param defaultIfAbsent get this Supplier when the property is empty or throws SecurityException.
3690 * @return the current value from the system properties map.
3691 * @since 3.15.0
3692 */
3693 public static String getLineSeparator(final Supplier<String> defaultIfAbsent) {
3694 return getProperty(LINE_SEPARATOR, defaultIfAbsent);
3695 }
3696
3697 /**
3698 * Gets the current value for the property named {@code "SimpleClassName.Key"} as a {@code long}.
3699 * <p>
3700 * If a {@link SecurityException} is caught, the return value is {@code null}.
3701 * </p>
3702 *
3703 * @param clazz The Class to use for the SimpleClassName.
3704 * @param key The subkey.
3705 * @param defaultIfAbsent The default value.
3706 * @return a long or {@code defaultIfAbsent}'s value.
3707 * @see Class#getSimpleName()
3708 * @since 3.19.0
3709 */
3710 public static long getLong(final Class<?> clazz, final String key, final LongSupplier defaultIfAbsent) {
3711 return getLong(toKey(clazz, key, true), defaultIfAbsent);
3712 }
3713
3714 /**
3715 * Gets the current value for the property named {@code key} as a {@code long}.
3716 * <p>
3717 * If a {@link SecurityException} is caught, the return value is {@code null}.
3718 * </p>
3719 *
3720 * @param key The key.
3721 * @param defaultIfAbsent The default value.
3722 * @return a {@code long} or {@code defaultIfAbsent}'s value.
3723 */
3724 public static long getLong(final String key, final LongSupplier defaultIfAbsent) {
3725 final String str = getProperty(key);
3726 return str == null ? defaultIfAbsent != null ? defaultIfAbsent.getAsLong() : 0 : Long.parseLong(str);
3727 }
3728
3729 /**
3730 * Gets the current value from the system properties map for {@value #NATIVE_ENCODING}.
3731 * <p>
3732 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3733 * </p>
3734 *
3735 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3736 * @since 3.15.0
3737 */
3738 public static String getNativeEncoding() {
3739 return getProperty(NATIVE_ENCODING);
3740 }
3741
3742 /**
3743 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_NEGATIVE_TTL}.
3744 * <p>
3745 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3746 * </p>
3747 *
3748 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3749 * @since 3.15.0
3750 */
3751 public static String getNetworkAddressCacheNegativeTtl() {
3752 return getProperty(NETWORK_ADDRESS_CACHE_NEGATIVE_TTL);
3753 }
3754
3755 /**
3756 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_STALE_TTL}.
3757 * <p>
3758 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3759 * </p>
3760 *
3761 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3762 * @since 3.15.0
3763 */
3764 public static String getNetworkAddressCacheStaleTtl() {
3765 return getProperty(NETWORK_ADDRESS_CACHE_STALE_TTL);
3766 }
3767
3768 /**
3769 * Gets the current value from the system properties map for {@value #NETWORK_ADDRESS_CACHE_TTL}.
3770 * <p>
3771 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3772 * </p>
3773 *
3774 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3775 * @since 3.15.0
3776 */
3777 public static String getNetworkAddressCacheTtl() {
3778 return getProperty(NETWORK_ADDRESS_CACHE_TTL);
3779 }
3780
3781 /**
3782 * Gets the current value from the system properties map for {@value #ORG_JCP_XML_DSIG_SECURE_VALIDATION}.
3783 * <p>
3784 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3785 * </p>
3786 *
3787 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3788 * @since 3.15.0
3789 */
3790 public static String getOrgJcpXmlDsigSecureValidation() {
3791 return getProperty(ORG_JCP_XML_DSIG_SECURE_VALIDATION);
3792 }
3793
3794 /**
3795 * Gets the current value from the system properties map for {@value #ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE}.
3796 * <p>
3797 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3798 * </p>
3799 *
3800 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3801 * @since 3.15.0
3802 */
3803 public static String getOrgOpenJdkJavaUtilStreamTripwire() {
3804 return getProperty(ORG_OPENJDK_JAVA_UTIL_STREAM_TRIPWIRE);
3805 }
3806
3807 /**
3808 * Gets the current value from the system properties map for {@value #OS_ARCH}.
3809 * <p>
3810 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3811 * </p>
3812 *
3813 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3814 */
3815 public static String getOsArch() {
3816 return getProperty(OS_ARCH);
3817 }
3818
3819 /**
3820 * Gets the current value from the system properties map for {@value #OS_NAME}.
3821 * <p>
3822 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3823 * </p>
3824 *
3825 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3826 */
3827 public static String getOsName() {
3828 return getProperty(OS_NAME);
3829 }
3830
3831 /**
3832 * Gets the current value from the system properties map for {@value #OS_VERSION}.
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 getOsVersion() {
3840 return getProperty(OS_VERSION);
3841 }
3842
3843 /**
3844 * Gets the current value for the property named {@code key} as a {@link Path}.
3845 * <p>
3846 * If a {@link SecurityException} is caught, the return value is {@code null}.
3847 * </p>
3848 *
3849 * @param key The key.
3850 * @param defaultIfAbsent The default value.
3851 * @return a {@link Path} or {@code defaultIfAbsent}'s value.
3852 * @since 3.20.0
3853 */
3854 public static Path getPath(final String key, final Supplier<Path> defaultIfAbsent) {
3855 final String str = getProperty(key);
3856 return str == null ? defaultIfAbsent != null ? defaultIfAbsent.get() : null : Paths.get(str);
3857 }
3858
3859 /**
3860 * Gets the current value from the system properties map for {@value #PATH_SEPARATOR}.
3861 * <p>
3862 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3863 * </p>
3864 *
3865 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3866 */
3867 public static String getPathSeparator() {
3868 return getProperty(PATH_SEPARATOR);
3869 }
3870
3871 /**
3872 * Gets a System property, defaulting to {@code null} if the property cannot be read.
3873 * <p>
3874 * If a {@link SecurityException} is caught, the return value is {@code null}.
3875 * </p>
3876 *
3877 * @param property The system property name.
3878 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3879 */
3880 public static String getProperty(final String property) {
3881 return getProperty(property, Suppliers.nul());
3882 }
3883
3884 /**
3885 * Gets a System property, defaulting to {@code null} if the property cannot be read.
3886 * <p>
3887 * If a {@link SecurityException} is caught, the return value is {@code null}.
3888 * </p>
3889 *
3890 * @param property the system property name.
3891 * @param defaultIfAbsent use this value when the property is empty or throws SecurityException.
3892 * @return the system property value or {@code null} if a security problem occurs.
3893 */
3894 static String getProperty(final String property, final String defaultIfAbsent) {
3895 return getProperty(property, () -> defaultIfAbsent);
3896 }
3897
3898 /**
3899 * Gets a System property, defaulting to {@code null} if the property cannot be read.
3900 * <p>
3901 * If a {@link SecurityException} is caught, the return value is {@code null}.
3902 * </p>
3903 *
3904 * @param property the system property name.
3905 * @param defaultIfAbsent get this Supplier when the property is empty or throws SecurityException.
3906 * @return the system property value or {@code null} if a security problem occurs.
3907 */
3908 static String getProperty(final String property, final Supplier<String> defaultIfAbsent) {
3909 try {
3910 if (StringUtils.isEmpty(property)) {
3911 return Suppliers.get(defaultIfAbsent);
3912 }
3913 return StringUtils.getIfEmpty(System.getProperty(property), defaultIfAbsent);
3914 } catch (final SecurityException ignore) {
3915 // We are not allowed to look at this property.
3916 //
3917 // System.err.println("Caught a SecurityException reading the system property '" + property
3918 // + "'; the SystemUtils property value will default to null.");
3919 return defaultIfAbsent.get();
3920 }
3921 }
3922
3923 /**
3924 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_HOST}.
3925 * <p>
3926 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3927 * </p>
3928 *
3929 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3930 * @since 3.15.0
3931 */
3932 public static String getSocksProxyHost() {
3933 return getProperty(SOCKS_PROXY_HOST);
3934 }
3935
3936 /**
3937 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_PORT}.
3938 * <p>
3939 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3940 * </p>
3941 *
3942 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3943 * @since 3.15.0
3944 */
3945 public static String getSocksProxyPort() {
3946 return getProperty(SOCKS_PROXY_PORT);
3947 }
3948
3949 /**
3950 * Gets the current value from the system properties map for {@value #SOCKS_PROXY_VERSION}.
3951 * <p>
3952 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3953 * </p>
3954 *
3955 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3956 * @since 3.15.0
3957 */
3958 public static String getSocksProxyVersion() {
3959 return getProperty(SOCKS_PROXY_VERSION);
3960 }
3961
3962 /**
3963 * Gets the current value from the system properties map for {@value #STDERR_ENCODING}.
3964 * <p>
3965 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3966 * </p>
3967 *
3968 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3969 * @since 3.15.0
3970 */
3971 public static String getStdErrEncoding() {
3972 return getProperty(STDERR_ENCODING);
3973 }
3974
3975 /**
3976 * Gets the current value from the system properties map for {@value #STDOUT_ENCODING}.
3977 * <p>
3978 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3979 * </p>
3980 *
3981 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3982 * @since 3.15.0
3983 */
3984 public static String getStdOutEncoding() {
3985 return getProperty(STDOUT_ENCODING);
3986 }
3987
3988 /**
3989 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_DRAIN_AMOUNT}.
3990 * <p>
3991 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
3992 * </p>
3993 *
3994 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
3995 * @since 3.15.0
3996 */
3997 public static String getSunNetHttpServerDrainAmount() {
3998 return getProperty(SUN_NET_HTTP_SERVER_DRAIN_AMOUNT);
3999 }
4000
4001 /**
4002 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_IDLE_INTERVAL}.
4003 * <p>
4004 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4005 * </p>
4006 *
4007 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4008 * @since 3.15.0
4009 */
4010 public static String getSunNetHttpServerIdleInterval() {
4011 return getProperty(SUN_NET_HTTP_SERVER_IDLE_INTERVAL);
4012 }
4013
4014 /**
4015 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS}.
4016 * <p>
4017 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4018 * </p>
4019 *
4020 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4021 * @since 3.15.0
4022 */
4023 public static String getSunNetHttpServerMaxIdleConnections() {
4024 return getProperty(SUN_NET_HTTP_SERVER_MAX_IDLE_CONNECTIONS);
4025 }
4026
4027 /**
4028 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS}.
4029 * <p>
4030 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4031 * </p>
4032 *
4033 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4034 * @since 3.15.0
4035 */
4036 public static String getSunNetHttpServerMaxReqHeaders() {
4037 return getProperty(SUN_NET_HTTP_SERVER_MAX_REQ_HEADERS);
4038 }
4039
4040 /**
4041 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_REQ_TIME}.
4042 * <p>
4043 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4044 * </p>
4045 *
4046 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4047 * @since 3.15.0
4048 */
4049 public static String getSunNetHttpServerMaxReqTime() {
4050 return getProperty(SUN_NET_HTTP_SERVER_MAX_REQ_TIME);
4051 }
4052
4053 /**
4054 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_MAX_RSP_TIME}.
4055 * <p>
4056 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4057 * </p>
4058 *
4059 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4060 * @since 3.15.0
4061 */
4062 public static String getSunNetHttpServerMaxRspTime() {
4063 return getProperty(SUN_NET_HTTP_SERVER_MAX_RSP_TIME);
4064 }
4065
4066 /**
4067 * Gets the current value from the system properties map for {@value #SUN_NET_HTTP_SERVER_NO_DELAY}.
4068 * <p>
4069 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4070 * </p>
4071 *
4072 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4073 * @since 3.15.0
4074 */
4075 public static String getSunNetHttpServerNoDelay() {
4076 return getProperty(SUN_NET_HTTP_SERVER_NO_DELAY);
4077 }
4078
4079 /**
4080 * Gets the current value from the system properties map for {@value #SUN_SECURITY_KRB5_PRINCIPAL}.
4081 * <p>
4082 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4083 * </p>
4084 *
4085 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4086 * @since 3.15.0
4087 */
4088 public static String getSunSecurityKrb5Principal() {
4089 return getProperty(SUN_SECURITY_KRB5_PRINCIPAL);
4090 }
4091
4092 /**
4093 * Gets the current value from the system properties map for {@value #USER_COUNTRY}.
4094 * <p>
4095 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4096 * </p>
4097 *
4098 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4099 */
4100 public static String getUserCountry() {
4101 return getProperty(USER_COUNTRY);
4102 }
4103
4104 /**
4105 * Gets the current value from the system properties map for {@value #USER_DIR}.
4106 * <p>
4107 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4108 * </p>
4109 *
4110 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4111 */
4112 public static String getUserDir() {
4113 return getProperty(USER_DIR);
4114 }
4115
4116 /**
4117 * Gets the current value from the system properties map for {@value #USER_EXTENSIONS}.
4118 * <p>
4119 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4120 * </p>
4121 *
4122 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4123 * @since 3.15.0
4124 */
4125 public static String getUserExtensions() {
4126 return getProperty(USER_EXTENSIONS);
4127 }
4128
4129 /**
4130 * Gets the current value from the system properties map for {@value #USER_HOME}.
4131 * <p>
4132 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4133 * </p>
4134 *
4135 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4136 */
4137 public static String getUserHome() {
4138 return getProperty(USER_HOME);
4139 }
4140
4141 /**
4142 * Gets the current value from the system properties map for {@value #USER_LANGUAGE}.
4143 * <p>
4144 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4145 * </p>
4146 *
4147 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4148 */
4149 public static String getUserLanguage() {
4150 return getProperty(USER_LANGUAGE);
4151 }
4152
4153 /**
4154 * Gets the current value from the system properties map for {@value #USER_NAME}.
4155 * <p>
4156 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4157 * </p>
4158 *
4159 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4160 */
4161 public static String getUserName() {
4162 return getProperty(USER_NAME);
4163 }
4164
4165 /**
4166 * Gets the current value from the system properties map for {@value #USER_NAME}.
4167 * <p>
4168 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4169 * </p>
4170 *
4171 * @param defaultValue get this Supplier when the property is empty or throws SecurityException.
4172 * @return The system property value or {@code defaultValue} if the property is absent or a security problem occurs.
4173 * @since 3.15.0
4174 */
4175 public static String getUserName(final String defaultValue) {
4176 return getProperty(USER_NAME, defaultValue);
4177 }
4178
4179 /**
4180 * Gets the current value from the system properties map for {@value #USER_REGION}.
4181 * <p>
4182 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4183 * </p>
4184 *
4185 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4186 * @since 3.15.0
4187 */
4188 public static String getUserRegion() {
4189 return getProperty(USER_REGION);
4190 }
4191
4192 /**
4193 * Gets the current value from the system properties map for {@value #USER_SCRIPT}.
4194 * <p>
4195 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4196 * </p>
4197 *
4198 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4199 * @since 3.15.0
4200 */
4201 public static String getUserScript() {
4202 return getProperty(USER_SCRIPT);
4203 }
4204
4205 /**
4206 * Gets the current value from the system properties map for {@value #USER_TIMEZONE}.
4207 * <p>
4208 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4209 * </p>
4210 *
4211 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4212 */
4213 public static String getUserTimezone() {
4214 return getProperty(USER_TIMEZONE);
4215 }
4216
4217 /**
4218 * Gets the current value from the system properties map for {@value #USER_VARIANT}.
4219 * <p>
4220 * Returns {@code null} if the property cannot be read due to a {@link SecurityException}.
4221 * </p>
4222 *
4223 * @return The system property value or {@code null} if the property is absent or a security problem occurs.
4224 * @since 3.15.0
4225 */
4226 public static String getUserVariant() {
4227 return getProperty(USER_VARIANT);
4228 }
4229
4230 /**
4231 * Tests whether the given property is set.
4232 * <p>
4233 * Short-hand for {@code getProperty(property) != null}.
4234 * </p>
4235 * <p>
4236 * If a {@link SecurityException} is caught, the return value is {@code false}.
4237 * </p>
4238 *
4239 * @param property the system property name.
4240 * @return whether the given property is set.
4241 * @since 3.18.0
4242 */
4243 public static boolean isPropertySet(final String property) {
4244 return getProperty(property) != null;
4245 }
4246
4247 private static String toKey(final Class<?> clazz, final String key, final boolean simpleKey) {
4248 return ClassUtils.getName(clazz, StringUtils.EMPTY, simpleKey) + "." + key;
4249 }
4250
4251 /**
4252 * Make private in 4.0.
4253 *
4254 * @deprecated TODO Make private in 4.0.
4255 */
4256 @Deprecated
4257 public SystemProperties() {
4258 // empty
4259 }
4260 }