View Javadoc
1   package com.jsql.view.swing.dialog.translate;
2   
3   import java.util.*;
4   
5   public class SortedProperties extends Properties {
6       @Override
7       public synchronized Enumeration<Object> keys() {
8           Enumeration<Object> keysEnum = super.keys();
9           List<String> keyList = new ArrayList<>();
10          while (keysEnum.hasMoreElements()) {
11              keyList.add((String) keysEnum.nextElement());
12          }
13          Collections.sort(keyList);
14          return Collections.enumeration(
15              keyList.stream().map(s -> (Object) s).toList()
16          );
17      }
18      @Override
19      public Set<Map.Entry<Object, Object>> entrySet() {
20          Map<Object, Object> treeMap = new TreeMap<>();
21          Set<Map.Entry<Object, Object>> entrySet = super.entrySet();
22          for (Map.Entry<Object, Object> entry : entrySet) {
23              treeMap.put(entry.getKey(), entry.getValue());
24          }
25          return Collections.synchronizedSet(treeMap.entrySet());
26      }
27  }