Edit C:\Program Files\Java\jdk1.8.0_121\com\sun\javafx\collections\UnmodifiableObservableMap.java
/* * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.javafx.collections; import java.util.AbstractMap; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Set; import javafx.beans.InvalidationListener; import javafx.collections.MapChangeListener; import javafx.collections.MapChangeListener.Change; import javafx.collections.ObservableMap; import javafx.collections.WeakMapChangeListener; import com.sun.javafx.collections.annotations.ReturnsUnmodifiableCollection; /** * ObservableMap wrapper that does not allow changes to the underlying container. */ public class UnmodifiableObservableMap<K, V> extends AbstractMap<K, V> implements javafx.collections.ObservableMap<K, V> { private MapListenerHelper<K, V> listenerHelper; private final ObservableMap<K, V> backingMap; private final MapChangeListener<K, V> listener; private Set<K> keyset; private Collection<V> values; private Set<Entry<K, V>> entryset; public UnmodifiableObservableMap(ObservableMap<K, V> map) { this.backingMap = map; listener = c -> { callObservers(new MapAdapterChange<K, V>(UnmodifiableObservableMap.this, c)); }; this.backingMap.addListener(new WeakMapChangeListener<K, V>(listener)); } private void callObservers(Change<? extends K,? extends V> c) { MapListenerHelper.fireValueChangedEvent(listenerHelper, c); } @Override public void addListener(InvalidationListener listener) { listenerHelper = MapListenerHelper.addListener(listenerHelper, listener); } @Override public void removeListener(InvalidationListener listener) { listenerHelper = MapListenerHelper.removeListener(listenerHelper, listener); } @Override public void addListener(MapChangeListener<? super K, ? super V> observer) { listenerHelper = MapListenerHelper.addListener(listenerHelper, observer); } @Override public void removeListener(MapChangeListener<? super K, ? super V> observer) { listenerHelper = MapListenerHelper.removeListener(listenerHelper, observer); } @Override public int size() { return backingMap.size(); } @Override public boolean isEmpty() { return backingMap.isEmpty(); } @Override public boolean containsKey(Object key) { return backingMap.containsKey(key); } @Override public boolean containsValue(Object value) { return backingMap.containsValue(value); } @Override public V get(Object key) { return backingMap.get(key); } @Override @ReturnsUnmodifiableCollection public Set<K> keySet() { if (keyset == null) { keyset = Collections.unmodifiableSet(backingMap.keySet()); } return keyset; } @Override @ReturnsUnmodifiableCollection public Collection<V> values() { if (values == null) { values = Collections.unmodifiableCollection(backingMap.values()); } return values; } @Override @ReturnsUnmodifiableCollection public Set<Entry<K,V>> entrySet() { if (entryset == null) { entryset = Collections.unmodifiableMap(backingMap).entrySet(); } return entryset; } }
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de