src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java

Print this page

        

@@ -99,13 +99,14 @@
             MacOSXPreferencesFile.syncWorld();
         }
     }
 
     // Maps string -> weak reference to MacOSXPreferencesFile
-    private static HashMap cachedFiles = null;
+    private static HashMap<String, WeakReference<MacOSXPreferencesFile>> 
+            cachedFiles = null;
     // Files that may have unflushed changes
-    private static HashSet changedFiles = null;
+    private static HashSet<MacOSXPreferencesFile> changedFiles = null;
 
 
     // Timer and pending sync and flush tasks (which are both scheduled
     // on the same timer)
     private static Timer timer = null;

@@ -134,25 +135,26 @@
     static synchronized MacOSXPreferencesFile
         getFile(String newName, boolean isUser)
     {
         MacOSXPreferencesFile result = null;
 
-        if (cachedFiles == null) cachedFiles = new HashMap();
+        if (cachedFiles == null) 
+            cachedFiles = new HashMap<>();
 
         String hashkey =
             newName + String.valueOf(isUser);
-        WeakReference hashvalue = (WeakReference)cachedFiles.get(hashkey);
+        WeakReference<MacOSXPreferencesFile> hashvalue = cachedFiles.get(hashkey);
         if (hashvalue != null) {
-            result = (MacOSXPreferencesFile)hashvalue.get();
+            result = hashvalue.get();
         }
         if (result == null) {
             // Java user node == CF current user, any host
             // Java system node == CF any user, current host
             result = new MacOSXPreferencesFile(newName,
                                          isUser ? cfCurrentUser : cfAnyUser,
                                          isUser ? cfAnyHost : cfCurrentHost);
-            cachedFiles.put(hashkey, new WeakReference(result));
+            cachedFiles.put(hashkey, new WeakReference<MacOSXPreferencesFile>(result));
         }
 
         // Don't schedule this file for flushing until some nodes or
         // keys are added to it.
 

@@ -169,14 +171,15 @@
     static synchronized boolean syncWorld()
     {
         boolean ok = true;
 
         if (cachedFiles != null  &&  !cachedFiles.isEmpty()) {
-            Iterator iter = cachedFiles.values().iterator();
+            Iterator<WeakReference<MacOSXPreferencesFile>> iter = 
+                    cachedFiles.values().iterator();
             while (iter.hasNext()) {
-                WeakReference ref = (WeakReference)iter.next();
-                MacOSXPreferencesFile f = (MacOSXPreferencesFile)ref.get();
+                WeakReference<MacOSXPreferencesFile> ref = iter.next();
+                MacOSXPreferencesFile f = ref.get();
                 if (f != null) {
                     if (!f.synchronize()) ok = false;
                 } else {
                     iter.remove();
                 }

@@ -200,14 +203,15 @@
 
     // Sync only current user preferences
     static synchronized boolean syncUser() {
         boolean ok = true;
         if (cachedFiles != null  &&  !cachedFiles.isEmpty()) {
-            Iterator<WeakReference> iter = cachedFiles.values().iterator();
+            Iterator<WeakReference<MacOSXPreferencesFile>> iter = 
+                    cachedFiles.values().iterator();
             while (iter.hasNext()) {
-                WeakReference ref = iter.next();
-                MacOSXPreferencesFile f = (MacOSXPreferencesFile)ref.get();
+                WeakReference<MacOSXPreferencesFile> ref = iter.next();
+                MacOSXPreferencesFile f = ref.get();
                 if (f != null && f.user == cfCurrentUser) {
                     if (!f.synchronize()) {
                         ok = false;
                     }
                 } else {

@@ -238,16 +242,14 @@
     static synchronized boolean flushWorld()
     {
         boolean ok = true;
 
         if (changedFiles != null  &&  !changedFiles.isEmpty()) {
-            Iterator iter = changedFiles.iterator();
-            while (iter.hasNext()) {
-                MacOSXPreferencesFile f = (MacOSXPreferencesFile)iter.next();
-                if (!f.synchronize()) ok = false;
+            for (MacOSXPreferencesFile f : changedFiles) {
+                if (!f.synchronize()) 
+                    ok = false;
             }
-
             changedFiles.clear();
         }
 
         if (flushTimerTask != null) {
             flushTimerTask.cancel();

@@ -261,11 +263,12 @@
     // at most flushDelay() seconds.
     // Must be called when synchronized on MacOSXPreferencesFile.class
     private void markChanged()
     {
         // Add this file to the changed file list
-        if (changedFiles == null) changedFiles = new HashSet();
+        if (changedFiles == null) 
+            changedFiles = new HashSet<>();
         changedFiles.add(this);
 
         // Schedule a new flush and a shutdown hook, if necessary
         if (flushTimerTask == null) {
             flushTimerTask = new FlushTask();

@@ -307,11 +310,13 @@
                 syncInterval = -2; // bad property value - default off
             }
 
             if (syncInterval > 0) {
                 timer().schedule(new TimerTask() {
-                        public void run() { MacOSXPreferencesFile.syncWorld();}
+                    @Override
+                    public void run() {
+                        MacOSXPreferencesFile.syncWorld();}
                     }, syncInterval * 1000, syncInterval * 1000);
             } else {
                 // syncInterval property not set. No sync timer ever.
             }
         }

@@ -321,10 +326,11 @@
     private static synchronized Timer timer()
     {
         if (timer == null) {
             timer = new Timer(true); // daemon
             Thread flushThread = new Thread() {
+                @Override
                 public void run() {
                     flushWorld();
                 }
             };
             /* Set context class loader to null in order to avoid