Ignore:
Timestamp:
2012-08-20T23:06:41+02:00 (12 years ago)
Author:
Don-vip
Message:

Rework Properties a bit to simplify management of Color properties

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/preferences/CachedProperty.java

    r4932 r5464  
    88public abstract class CachedProperty<T> extends AbstractProperty<T> implements PreferenceChangedListener {
    99
    10     protected final String defaultValue;
     10    private final String defaultValueAsString;
    1111    private T value;
    1212    private int updateCount;
    1313
    14     protected CachedProperty(String key, String defaultValue) {
    15         super(key);
     14    protected CachedProperty(String key, T defaultValue, String defaultValueAsString) {
     15        super(key, defaultValue);
    1616        Main.pref.addPreferenceChangeListener(this);
    17         this.defaultValue = defaultValue;
     17        this.defaultValueAsString = defaultValueAsString;
    1818        updateValue();
    1919    }
     
    3030    protected abstract T fromString(String s);
    3131
     32    @Override
    3233    public T get() {
    3334        return value;
     
    4041    }
    4142
     43    @Override
     44    public final boolean put(T value) {
     45        // Not used
     46        throw new IllegalAccessError("You cannot use put(T). Use put(String) instead.");
     47    }
     48
    4249    public int getUpdateCount() {
    4350        return updateCount;
    4451    }
    4552
    46     @Override
    47     public T getDefaultValue() {
    48         return fromString(getDefaultValueAsString());
    49     }
    50 
    5153    public String getDefaultValueAsString() {
    52         return defaultValue;
     54        return defaultValueAsString;
    5355    }
    5456
Note: See TracChangeset for help on using the changeset viewer.