Changeset 12881 in josm for trunk/src/org/openstreetmap/josm/data/Preferences.java
- Timestamp:
- 2017-09-21T12:41:32+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/Preferences.java
r12865 r12881 48 48 import org.openstreetmap.josm.data.preferences.DoubleProperty; 49 49 import org.openstreetmap.josm.data.preferences.IntegerProperty; 50 import org.openstreetmap.josm. data.preferences.ListListSetting;51 import org.openstreetmap.josm. data.preferences.ListSetting;50 import org.openstreetmap.josm.spi.preferences.ListListSetting; 51 import org.openstreetmap.josm.spi.preferences.ListSetting; 52 52 import org.openstreetmap.josm.data.preferences.LongProperty; 53 import org.openstreetmap.josm. data.preferences.MapListSetting;53 import org.openstreetmap.josm.spi.preferences.MapListSetting; 54 54 import org.openstreetmap.josm.data.preferences.PreferencesReader; 55 55 import org.openstreetmap.josm.data.preferences.PreferencesWriter; 56 import org.openstreetmap.josm. data.preferences.Setting;57 import org.openstreetmap.josm. data.preferences.StringSetting;56 import org.openstreetmap.josm.spi.preferences.Setting; 57 import org.openstreetmap.josm.spi.preferences.StringSetting; 58 58 import org.openstreetmap.josm.data.preferences.sources.ExtendedSourceEntry; 59 59 import org.openstreetmap.josm.data.preferences.sources.ValidatorPrefHelper; … … 157 157 /** 158 158 * Event triggered when a preference entry value changes. 159 */ 159 * @deprecated use {@link org.openstreetmap.josm.spi.preferences.PreferenceChangeEvent} 160 */ 161 @Deprecated 160 162 public interface PreferenceChangeEvent { 161 163 /** … … 181 183 * Listener to preference change events. 182 184 * @since 10600 (functional interface) 185 * @deprecated use {@link org.openstreetmap.josm.spi.preferences.PreferenceChangedListener} 183 186 */ 184 187 @FunctionalInterface 188 @Deprecated 185 189 public interface PreferenceChangedListener { 186 190 /** … … 191 195 } 192 196 197 @Deprecated 193 198 private static class DefaultPreferenceChangeEvent implements PreferenceChangeEvent { 194 199 private final String key; … … 218 223 } 219 224 220 private final ListenerList<PreferenceChangedListener> listeners = ListenerList.create(); 221 222 private final HashMap<String, ListenerList<PreferenceChangedListener>> keyListeners = new HashMap<>(); 225 private final ListenerList<org.openstreetmap.josm.spi.preferences.PreferenceChangedListener> listeners = ListenerList.create(); 226 227 private final HashMap<String, ListenerList<org.openstreetmap.josm.spi.preferences.PreferenceChangedListener>> keyListeners = new HashMap<>(); 228 229 @Deprecated 230 private final ListenerList<Preferences.PreferenceChangedListener> listenersDeprecated = ListenerList.create(); 231 232 @Deprecated 233 private final HashMap<String, ListenerList<Preferences.PreferenceChangedListener>> keyListenersDeprecated = new HashMap<>(); 223 234 224 235 /** … … 243 254 * Adds a new preferences listener. 244 255 * @param listener The listener to add 256 * @since xxx 245 257 */ 246 258 @Override 247 public void addPreferenceChangeListener(PreferenceChangedListener listener) { 259 public void addPreferenceChangeListener(org.openstreetmap.josm.spi.preferences.PreferenceChangedListener listener) { 248 260 if (listener != null) { 249 261 listeners.addListener(listener); … … 252 264 253 265 /** 266 * Adds a new preferences listener. 267 * @param listener The listener to add 268 * @deprecated use {@link #addPreferenceChangeListener(org.openstreetmap.josm.spi.preferences.PreferenceChangedListener)} 269 */ 270 @Deprecated 271 public void addPreferenceChangeListener(Preferences.PreferenceChangedListener listener) { 272 if (listener != null) { 273 listenersDeprecated.addListener(listener); 274 } 275 } 276 277 /** 254 278 * Removes a preferences listener. 255 279 * @param listener The listener to remove 280 * @since xxx 256 281 */ 257 282 @Override 258 public void removePreferenceChangeListener(PreferenceChangedListener listener) { 283 public void removePreferenceChangeListener(org.openstreetmap.josm.spi.preferences.PreferenceChangedListener listener) { 259 284 listeners.removeListener(listener); 285 } 286 287 /** 288 * Removes a preferences listener. 289 * @param listener The listener to remove 290 * @deprecated use {@link #removePreferenceChangeListener(org.openstreetmap.josm.spi.preferences.PreferenceChangedListener)} 291 */ 292 @Deprecated 293 public void removePreferenceChangeListener(Preferences.PreferenceChangedListener listener) { 294 listenersDeprecated.removeListener(listener); 295 } 296 297 /** 298 * Adds a listener that only listens to changes in one preference 299 * @param key The preference key to listen to 300 * @param listener The listener to add. 301 * @since xxx 302 */ 303 @Override 304 public void addKeyPreferenceChangeListener(String key, org.openstreetmap.josm.spi.preferences.PreferenceChangedListener listener) { 305 listenersForKey(key).addListener(listener); 260 306 } 261 307 … … 265 311 * @param listener The listener to add. 266 312 * @since 10824 267 */ 268 @Override 269 public void addKeyPreferenceChangeListener(String key, PreferenceChangedListener listener) { 270 listenersForKey(key).addListener(listener); 313 * @deprecated use {@link #addKeyPreferenceChangeListener(java.lang.String, org.openstreetmap.josm.spi.preferences.PreferenceChangedListener)} 314 */ 315 @Deprecated 316 public void addKeyPreferenceChangeListener(String key, Preferences.PreferenceChangedListener listener) { 317 listenersForKeyDeprecated(key).addListener(listener); 271 318 } 272 319 … … 277 324 * @since 10824 278 325 */ 279 public void addWeakKeyPreferenceChangeListener(String key, PreferenceChangedListener listener) { 326 public void addWeakKeyPreferenceChangeListener(String key, org.openstreetmap.josm.spi.preferences.PreferenceChangedListener listener) { 280 327 listenersForKey(key).addWeakListener(listener); 281 328 } 282 329 283 private ListenerList<PreferenceChangedListener> listenersForKey(String key) { 330 private ListenerList<org.openstreetmap.josm.spi.preferences.PreferenceChangedListener> listenersForKey(String key) { 284 331 return keyListeners.computeIfAbsent(key, k -> ListenerList.create()); 332 } 333 334 @Deprecated 335 private ListenerList<Preferences.PreferenceChangedListener> listenersForKeyDeprecated(String key) { 336 return keyListenersDeprecated.computeIfAbsent(key, k -> ListenerList.create()); 285 337 } 286 338 … … 289 341 * @param key The preference key to listen to 290 342 * @param listener The listener to add. 343 * @since xxx 291 344 */ 292 345 @Override 293 public void removeKeyPreferenceChangeListener(String key, PreferenceChangedListener listener) { 346 public void removeKeyPreferenceChangeListener(String key, org.openstreetmap.josm.spi.preferences.PreferenceChangedListener listener) { 294 347 Optional.ofNullable(keyListeners.get(key)).orElseThrow( 295 348 () -> new IllegalArgumentException("There are no listeners registered for " + key)) … … 297 350 } 298 351 352 /** 353 * Removes a listener that only listens to changes in one preference 354 * @param key The preference key to listen to 355 * @param listener The listener to add. 356 * @deprecated use {@link #removeKeyPreferenceChangeListener(java.lang.String, org.openstreetmap.josm.spi.preferences.PreferenceChangedListener)} 357 */ 358 @Deprecated 359 public void removeKeyPreferenceChangeListener(String key, Preferences.PreferenceChangedListener listener) { 360 Optional.ofNullable(keyListenersDeprecated.get(key)).orElseThrow( 361 () -> new IllegalArgumentException("There are no listeners registered for " + key)) 362 .removeListener(listener); 363 } 364 299 365 protected void firePreferenceChanged(String key, Setting<?> oldValue, Setting<?> newValue) { 300 final PreferenceChangeEvent evt = new DefaultPreferenceChangeEvent(key, oldValue, newValue); 366 final org.openstreetmap.josm.spi.preferences.PreferenceChangeEvent evt = new org.openstreetmap.josm.spi.preferences.DefaultPreferenceChangeEvent(key, oldValue, newValue); 301 367 listeners.fireEvent(listener -> listener.preferenceChanged(evt)); 302 368 303 ListenerList<PreferenceChangedListener> forKey = keyListeners.get(key); 369 ListenerList<org.openstreetmap.josm.spi.preferences.PreferenceChangedListener> forKey = keyListeners.get(key); 304 370 if (forKey != null) { 305 371 forKey.fireEvent(listener -> listener.preferenceChanged(evt)); 372 } 373 firePreferenceChangedDeprecated(key, oldValue, newValue); 374 } 375 376 @Deprecated 377 private void firePreferenceChangedDeprecated(String key, Setting<?> oldValue, Setting<?> newValue) { 378 final Preferences.PreferenceChangeEvent evtDeprecated = new Preferences.DefaultPreferenceChangeEvent(key, oldValue, newValue); 379 listenersDeprecated.fireEvent(listener -> listener.preferenceChanged(evtDeprecated)); 380 381 ListenerList<Preferences.PreferenceChangedListener> forKeyDeprecated = keyListenersDeprecated.get(key); 382 if (forKeyDeprecated != null) { 383 forKeyDeprecated.fireEvent(listener -> listener.preferenceChanged(evtDeprecated)); 306 384 } 307 385 }
Note:
See TracChangeset
for help on using the changeset viewer.