diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java b/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java index f7797c78531ea94ffb442fa055e628f9c39ad5e4..5caa262eabc6e8df8284197b9a509dc57281bcac 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/TransientDataStore.java @@ -9,6 +9,7 @@ package net.i2p.router.networkdb.kademlia; */ import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.concurrent.ConcurrentHashMap; import java.util.HashSet; @@ -56,24 +57,27 @@ class TransientDataStore implements DataStore { return _data.size(); } + /** + * @return Unmodifiable view, not a copy + */ public Set<Hash> getKeys() { - return new HashSet(_data.keySet()); + return Collections.unmodifiableSet(_data.keySet()); } /** - * @return not a copy + * @return Unmodifiable view, not a copy * @since 0.8.3 */ public Collection<DatabaseEntry> getEntries() { - return _data.values(); + return Collections.unmodifiableCollection(_data.values()); } /** - * @return not a copy + * @return Unmodifiable view, not a copy * @since 0.8.3 */ public Set<Map.Entry<Hash, DatabaseEntry>> getMapEntries() { - return _data.entrySet(); + return Collections.unmodifiableSet(_data.entrySet()); } /** for PersistentDataStore only - don't use here @throws IAE always */