Ignore:
Timestamp:
2017-02-12T16:32:18+01:00 (7 years ago)
Author:
Don-vip
Message:

refactor handling of null values - use Java 8 Optional where possible

File:
1 edited

Legend:

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

    r11527 r11553  
    283283     */
    284284    public void removeKeyPreferenceChangeListener(String key, PreferenceChangedListener listener) {
    285         ListenerList<PreferenceChangedListener> keyListener = keyListeners.get(key);
    286         if (keyListener == null) {
    287             throw new IllegalArgumentException("There are no listeners registered for " + key);
    288         }
    289         keyListener.removeListener(listener);
     285        Optional.ofNullable(keyListeners.get(key)).orElseThrow(
     286                () -> new IllegalArgumentException("There are no listeners registered for " + key))
     287        .removeListener(listener);
    290288    }
    291289
     
    11511149     */
    11521150    public <T> List<T> getListOfStructs(String key, Class<T> klass) {
    1153         List<T> r = getListOfStructs(key, null, klass);
    1154         if (r == null)
    1155             return Collections.emptyList();
    1156         else
    1157             return r;
     1151        return Optional.ofNullable(getListOfStructs(key, null, klass)).orElseGet(Collections::emptyList);
    11581152    }
    11591153
     
    11711165        if (prop == null)
    11721166            return def == null ? null : new ArrayList<>(def);
    1173         List<T> lst = new ArrayList<>();
    1174         for (Map<String, String> entries : prop) {
    1175             T struct = deserializeStruct(entries, klass);
    1176             lst.add(struct);
    1177         }
    1178         return lst;
     1167        return prop.stream().map(p -> deserializeStruct(p, klass)).collect(Collectors.toList());
    11791168    }
    11801169
     
    12041193        Collection<Map<String, String>> vals = new ArrayList<>();
    12051194        for (T struct : l) {
    1206             if (struct == null) {
    1207                 continue;
    1208             }
    1209             vals.add(serializeStruct(struct, klass));
     1195            if (struct != null) {
     1196                vals.add(serializeStruct(struct, klass));
     1197            }
    12101198        }
    12111199        return vals;
Note: See TracChangeset for help on using the changeset viewer.