Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 17 java.prefs.jmod - Prefs Module
JDK 17 java.prefs.jmod is the JMOD file for JDK 17 Prefs module.
JDK 17 Prefs module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.prefs.jmod.
JDK 17 Prefs module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Prefs module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.prefs.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/util/prefs/MacOSXPreferences.java
/* * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.util.prefs; import java.util.Objects; class MacOSXPreferences extends AbstractPreferences { // fixme need security checks? // CF preferences file name for Java nodes with short names // This value is also in MacOSXPreferencesFile.c private static final String defaultAppName = "com.apple.java.util.prefs"; // true if this node is a child of userRoot or is userRoot private final boolean isUser; // CF's storage location for this node and its keys private final MacOSXPreferencesFile file; // absolutePath() + "/" private final String path; // User root and system root nodes private static volatile MacOSXPreferences userRoot; private static volatile MacOSXPreferences systemRoot; // Returns user root node, creating it if necessary. // Called by MacOSXPreferencesFactory static Preferences getUserRoot() { MacOSXPreferences root = userRoot; if (root == null) { synchronized (MacOSXPreferences.class) { root = userRoot; if (root == null) { userRoot = root = new MacOSXPreferences(true); } } } return root; } // Returns system root node, creating it if necessary. // Called by MacOSXPreferencesFactory static Preferences getSystemRoot() { MacOSXPreferences root = systemRoot; if (root == null) { synchronized (MacOSXPreferences.class) { root = systemRoot; if (root == null) { systemRoot = root = new MacOSXPreferences(false); } } } return root; } // Create a new root node. Called by getUserRoot() and getSystemRoot() // Synchronization is provided by the caller. private MacOSXPreferences(boolean newIsUser) { this(null, "", false, true, newIsUser); } // Create a new non-root node with the given parent. // Called by childSpi(). private MacOSXPreferences(MacOSXPreferences parent, String name) { this(parent, name, false, false, false); } private MacOSXPreferences(MacOSXPreferences parent, String name, boolean isNew) { this(parent, name, isNew, false, false); } private MacOSXPreferences(MacOSXPreferences parent, String name, boolean isNew, boolean isRoot, boolean isUser) { super(parent, name); if (isRoot) this.isUser = isUser; else this.isUser = isUserNode(); path = isRoot ? absolutePath() : absolutePath() + "/"; file = cfFileForNode(this.isUser); if (isNew) newNode = isNew; else newNode = file.addNode(path); } // Create and return the MacOSXPreferencesFile for this node. // Does not write anything to the file. private MacOSXPreferencesFile cfFileForNode(boolean isUser) { String name = path; // /one/two/three/four/five/ // The fourth slash is the end of the first three components. // If there is no fourth slash, the name has fewer than 3 components int pos = -1; for (int i = 0; i < 4; i++) { pos = name.indexOf('/', pos+1); if (pos == -1) break; } if (pos == -1) { // fewer than three components - use default name name = defaultAppName; } else { // truncate to three components, no leading or trailing '/' // replace '/' with '.' to make filesystem happy // convert to all lowercase to survive on HFS+ name = name.substring(1, pos); name = name.replace('/', '.'); name = name.toLowerCase(); } return MacOSXPreferencesFile.getFile(name, isUser); } // AbstractPreferences implementation @Override protected void putSpi(String key, String value) { file.addKeyToNode(path, key, value); } // AbstractPreferences implementation @Override protected String getSpi(String key) { return file.getKeyFromNode(path, key); } // AbstractPreferences implementation @Override protected void removeSpi(String key) { Objects.requireNonNull(key, "Specified key cannot be null"); file.removeKeyFromNode(path, key); } // AbstractPreferences implementation @Override protected void removeNodeSpi() throws BackingStoreException { // Disallow flush or sync between these two operations // (they may be manipulating two different files) synchronized(MacOSXPreferencesFile.class) { ((MacOSXPreferences)parent()).removeChild(name()); file.removeNode(path); } } // Erase knowledge about a child of this node. Called by removeNodeSpi. private void removeChild(String child) { file.removeChildFromNode(path, child); } // AbstractPreferences implementation @Override protected String[] childrenNamesSpi() throws BackingStoreException { String[] result = file.getChildrenForNode(path); if (result == null) throw new BackingStoreException("Couldn't get list of children for node '" + path + "'"); return result; } // AbstractPreferences implementation @Override protected String[] keysSpi() throws BackingStoreException { String[] result = file.getKeysForNode(path); if (result == null) throw new BackingStoreException("Couldn't get list of keys for node '" + path + "'"); return result; } // AbstractPreferences implementation @Override protected AbstractPreferences childSpi(String name) { // Add to parent's child list here and disallow sync // because parent and child might be in different files. synchronized(MacOSXPreferencesFile.class) { boolean isNew = file.addChildToNode(path, name); return new MacOSXPreferences(this, name, isNew); } } // AbstractPreferences override @Override public void flush() throws BackingStoreException { // Flush should *not* check for removal, unlike sync, but should // prevent simultaneous removal. synchronized(lock) { if (isUser) { if (!MacOSXPreferencesFile.flushUser()) { throw new BackingStoreException("Synchronization failed for node '" + path + "'"); } } else { if (!MacOSXPreferencesFile.flushWorld()) { throw new BackingStoreException("Synchronization failed for node '" + path + "'"); } } } } // AbstractPreferences implementation @Override protected void flushSpi() throws BackingStoreException { // nothing here - overridden flush() doesn't call this } // AbstractPreferences override @Override public void sync() throws BackingStoreException { synchronized(lock) { if (isRemoved()) throw new IllegalStateException("Node has been removed"); // fixme! overkill if (isUser) { if (!MacOSXPreferencesFile.syncUser()) { throw new BackingStoreException("Synchronization failed for node '" + path + "'"); } } else { if (!MacOSXPreferencesFile.syncWorld()) { throw new BackingStoreException("Synchronization failed for node '" + path + "'"); } } } } // AbstractPreferences implementation @Override protected void syncSpi() throws BackingStoreException { // nothing here - overridden sync() doesn't call this } }
⏎ java/util/prefs/MacOSXPreferences.java
Or download all of them as a single archive file:
File name: java.prefs-17.0.5-src.zip File size: 55811 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.rmi.jmod - RMI Module
2023-11-06, 1928👍, 0💬
Popular Posts:
What Is poi-3.5.jar - Part 2? poi-3.5.jar is one of the JAR files for Apache POI 3.5, which provides...
JDOM provides a solution for using XML from Java that is as simple as Java itself. There is no compe...
Provides support for the runtime platform, core utility methods and the extension registry. JAR File...
Jaxen, Release 1.1.1, is an open source XPath library written in Java. It is adaptable to many diffe...
What JAR files are required to run dom\Counter.java provided in the Apache Xerces package? You can f...