001package jmri.util;
002
003import java.util.Collections;
004import java.util.Enumeration;
005import java.util.Properties;
006import java.util.Set;
007import java.util.TreeSet;
008
009
010/**
011 * {@link java.util.Properties} implementation that enumerates properties sorted
012 * by key.
013 *
014 * See
015 * <a href="http://stackoverflow.com/a/3253071/176160">http://stackoverflow.com/a/3253071/176160</a>
016 *
017 * @author Randall Wood
018 */
019@Deprecated (since="5.17.1",forRemoval=true) // replaced by org.apache.commons.collections4.properties.SortedProperties
020public class OrderedProperties extends Properties {
021
022    @Override
023    public Set<Object> keySet() {
024        jmri.util.LoggingUtil.warnOnce( log, "Deprecated, please use org.apache.commons.collections4.properties.SortedProperties");
025        return Collections.unmodifiableSet(new TreeSet<Object>(super.keySet()));
026    }
027
028    @Override
029    public synchronized Enumeration<Object> keys() {
030        jmri.util.LoggingUtil.warnOnce( log, "Deprecated, please use org.apache.commons.collections4.properties.SortedProperties");
031        return Collections.enumeration(new TreeSet<Object>(super.keySet()));
032    }
033
034    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(OrderedProperties.class);
035}