package de.skuzzle.polly.core; import java.util.Collections; import java.util.Comparator; import java.util.Enumeration; import java.util.Properties; /** * Properties class which stores its values sorted. * * @author Simon * @since 0.6.1 */ public class SortedProperties extends Properties { private static final long serialVersionUID = 1L; private final static Comparator<Object> UNSAFE_COMPARER = new Comparator<Object>() { @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public int compare(Object o1, Object o2) { return ((Comparable) o1).compareTo((Comparable) o2); } }; public SortedProperties() { super(); } public SortedProperties(Properties defaults) { super(defaults); } @Override public synchronized Enumeration<Object> keys() { Collections.sort(Collections.list(super.keys()), UNSAFE_COMPARER); return super.keys(); } }