diff options
Diffstat (limited to 'model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java')
-rw-r--r-- | model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java index 715a9d74..d04e7117 100644 --- a/model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java +++ b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/internal/VersionedMapImpl.java | |||
@@ -14,20 +14,20 @@ import org.eclipse.viatra.solver.data.map.VersionedMapStoreImpl; | |||
14 | * Not threadSafe in itself | 14 | * Not threadSafe in itself |
15 | * @author Oszkar Semerath | 15 | * @author Oszkar Semerath |
16 | * | 16 | * |
17 | * @param <KEY> | 17 | * @param <K> |
18 | * @param <VALUE> | 18 | * @param <V> |
19 | */ | 19 | */ |
20 | public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | 20 | public class VersionedMapImpl<K,V> implements VersionedMap<K,V>{ |
21 | protected final VersionedMapStoreImpl<KEY,VALUE> store; | 21 | protected final VersionedMapStoreImpl<K,V> store; |
22 | 22 | ||
23 | protected final ContinousHashProvider<? super KEY> hashProvider; | 23 | protected final ContinousHashProvider<? super K> hashProvider; |
24 | protected final VALUE defaultValue; | 24 | protected final V defaultValue; |
25 | protected Node<KEY,VALUE> root; | 25 | protected Node<K,V> root; |
26 | 26 | ||
27 | public VersionedMapImpl( | 27 | public VersionedMapImpl( |
28 | VersionedMapStoreImpl<KEY,VALUE> store, | 28 | VersionedMapStoreImpl<K,V> store, |
29 | ContinousHashProvider<? super KEY> hashProvider, | 29 | ContinousHashProvider<? super K> hashProvider, |
30 | VALUE defaultValue) | 30 | V defaultValue) |
31 | { | 31 | { |
32 | this.store = store; | 32 | this.store = store; |
33 | this.hashProvider = hashProvider; | 33 | this.hashProvider = hashProvider; |
@@ -35,9 +35,9 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
35 | this.root = null; | 35 | this.root = null; |
36 | } | 36 | } |
37 | public VersionedMapImpl( | 37 | public VersionedMapImpl( |
38 | VersionedMapStoreImpl<KEY,VALUE> store, | 38 | VersionedMapStoreImpl<K,V> store, |
39 | ContinousHashProvider<? super KEY> hashProvider, | 39 | ContinousHashProvider<? super K> hashProvider, |
40 | VALUE defaultValue, Node<KEY,VALUE> data) | 40 | V defaultValue, Node<K,V> data) |
41 | { | 41 | { |
42 | this.store = store; | 42 | this.store = store; |
43 | this.hashProvider = hashProvider; | 43 | this.hashProvider = hashProvider; |
@@ -45,14 +45,14 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
45 | this.root = data; | 45 | this.root = data; |
46 | } | 46 | } |
47 | 47 | ||
48 | public VALUE getDefaultValue() { | 48 | public V getDefaultValue() { |
49 | return defaultValue; | 49 | return defaultValue; |
50 | } | 50 | } |
51 | public ContinousHashProvider<? super KEY> getHashProvider() { | 51 | public ContinousHashProvider<? super K> getHashProvider() { |
52 | return hashProvider; | 52 | return hashProvider; |
53 | } | 53 | } |
54 | @Override | 54 | @Override |
55 | public void put(KEY key, VALUE value) { | 55 | public void put(K key, V value) { |
56 | if(root!=null) { | 56 | if(root!=null) { |
57 | root = root.putValue(key, value, hashProvider, defaultValue, hashProvider.getHash(key, 0), 0); | 57 | root = root.putValue(key, value, hashProvider, defaultValue, hashProvider.getHash(key, 0), 0); |
58 | } else { | 58 | } else { |
@@ -61,16 +61,16 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
61 | } | 61 | } |
62 | 62 | ||
63 | @Override | 63 | @Override |
64 | public void putAll(Cursor<KEY, VALUE> cursor) { | 64 | public void putAll(Cursor<K, V> cursor) { |
65 | if(cursor.getDependingMaps().contains(this)) { | 65 | if(cursor.getDependingMaps().contains(this)) { |
66 | List<KEY> keys = new LinkedList<>(); | 66 | List<K> keys = new LinkedList<>(); |
67 | List<VALUE> values = new LinkedList<>(); | 67 | List<V> values = new LinkedList<>(); |
68 | while(cursor.move()) { | 68 | while(cursor.move()) { |
69 | keys.add(cursor.getKey()); | 69 | keys.add(cursor.getKey()); |
70 | values.add(cursor.getValue()); | 70 | values.add(cursor.getValue()); |
71 | } | 71 | } |
72 | Iterator<KEY> keyIterator = keys.iterator(); | 72 | Iterator<K> keyIterator = keys.iterator(); |
73 | Iterator<VALUE> valueIterator = values.iterator(); | 73 | Iterator<V> valueIterator = values.iterator(); |
74 | while(keyIterator.hasNext()) { | 74 | while(keyIterator.hasNext()) { |
75 | this.put(keyIterator.next(), valueIterator.next()); | 75 | this.put(keyIterator.next(), valueIterator.next()); |
76 | } | 76 | } |
@@ -82,7 +82,7 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
82 | } | 82 | } |
83 | 83 | ||
84 | @Override | 84 | @Override |
85 | public VALUE get(KEY key) { | 85 | public V get(K key) { |
86 | if(root!=null) { | 86 | if(root!=null) { |
87 | return root.getValue(key, hashProvider, defaultValue, hashProvider.getHash(key, 0), 0); | 87 | return root.getValue(key, hashProvider, defaultValue, hashProvider.getHash(key, 0), 0); |
88 | } else { | 88 | } else { |
@@ -99,16 +99,16 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
99 | } | 99 | } |
100 | 100 | ||
101 | @Override | 101 | @Override |
102 | public Cursor<KEY, VALUE> getCursor() { | 102 | public Cursor<K, V> getCursor() { |
103 | MapCursor<KEY,VALUE> cursor = new MapCursor<>(this.root,this); | 103 | MapCursor<K,V> cursor = new MapCursor<>(this.root,this); |
104 | return cursor; | 104 | return cursor; |
105 | } | 105 | } |
106 | @Override | 106 | @Override |
107 | public DiffCursor<KEY, VALUE> getDiffCursor(long toVersion) { | 107 | public DiffCursor<K, V> getDiffCursor(long toVersion) { |
108 | Cursor<KEY, VALUE> fromCursor = this.getCursor(); | 108 | Cursor<K, V> fromCursor = this.getCursor(); |
109 | VersionedMap<KEY, VALUE> toMap = this.store.createMap(toVersion); | 109 | VersionedMap<K, V> toMap = this.store.createMap(toVersion); |
110 | Cursor<KEY, VALUE> toCursor = toMap.getCursor(); | 110 | Cursor<K, V> toCursor = toMap.getCursor(); |
111 | return new MapDiffCursor<KEY, VALUE>(this.hashProvider,this.defaultValue, fromCursor, toCursor); | 111 | return new MapDiffCursor<K, V>(this.hashProvider,this.defaultValue, fromCursor, toCursor); |
112 | 112 | ||
113 | } | 113 | } |
114 | 114 | ||
@@ -117,7 +117,7 @@ public class VersionedMapImpl<KEY,VALUE> implements VersionedMap<KEY,VALUE>{ | |||
117 | public long commit() { | 117 | public long commit() { |
118 | return this.store.commit(root,this); | 118 | return this.store.commit(root,this); |
119 | } | 119 | } |
120 | public void setRoot(Node<KEY, VALUE> root) { | 120 | public void setRoot(Node<K, V> root) { |
121 | this.root = root; | 121 | this.root = root; |
122 | } | 122 | } |
123 | 123 | ||