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