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 }