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