001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.data.preferences;
003
004 import java.util.Collection;
005
006 import org.openstreetmap.josm.Main;
007
008 /**
009 * A property containing a {@code Collection} of {@code String} as value.
010 */
011 public class CollectionProperty extends AbstractProperty<Collection<String>> {
012
013 /**
014 * Constructs a new {@code CollectionProperty}.
015 * @param key The property key
016 * @param defaultValue The default value
017 */
018 public CollectionProperty(String key, Collection<String> defaultValue) {
019 super(key, defaultValue);
020 }
021
022 @Override
023 public Collection<String> get() {
024 return Main.pref.getCollection(getKey(), getDefaultValue());
025 }
026
027 @Override
028 public boolean put(Collection<String> value) {
029 return Main.pref.putCollection(getKey(), value);
030 }
031 }