Changeset 29484 in osm for applications/editors/josm/plugins/imagerycache/src/org/mapdb/DB.java
- Timestamp:
- 2013-04-07T17:07:27+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/imagerycache/src/org/mapdb/DB.java
r29363 r29484 83 83 }else{ 84 84 //create new map 85 ret = new HTreeMap<K,V>(engine,true, Utils.RANDOM.nextInt(), defaultSerializer,null, null);85 ret = new HTreeMap<K,V>(engine,true,false,Utils.RANDOM.nextInt(), defaultSerializer,null, null); 86 86 nameDir.put(name, ret.rootRecid); 87 87 } … … 95 95 * 96 96 * @param name of map to create 97 * @param keepCounter if counter should be kept, without counter updates are faster, but entire collection needs to be traversed to count items. 97 98 * @param keySerializer used to convert keys into/from binary form. Use null for default value. 98 99 * @param valueSerializer used to convert values into/from binary form. Use null for default value. … … 103 104 */ 104 105 synchronized public <K,V> HTreeMap<K,V> createHashMap( 105 String name, Serializer<K> keySerializer, Serializer<V> valueSerializer){106 checkNameNotExists(name); 107 HTreeMap<K,V> ret = new HTreeMap<K,V>(engine, true, Utils.RANDOM.nextInt(), defaultSerializer, keySerializer, valueSerializer);106 String name, boolean keepCounter, Serializer<K> keySerializer, Serializer<V> valueSerializer){ 107 checkNameNotExists(name); 108 HTreeMap<K,V> ret = new HTreeMap<K,V>(engine, true,keepCounter,Utils.RANDOM.nextInt(), defaultSerializer, keySerializer, valueSerializer); 108 109 nameDir.put(name, ret.rootRecid); 109 110 collections.put(name, new WeakReference<Object>(ret)); … … 130 131 }else{ 131 132 //create new map 132 HTreeMap<K,Object> m = new HTreeMap<K,Object>(engine, false, Utils.RANDOM.nextInt(), defaultSerializer, null, null);133 HTreeMap<K,Object> m = new HTreeMap<K,Object>(engine, false,false, Utils.RANDOM.nextInt(), defaultSerializer, null, null); 133 134 ret = m.keySet(); 134 135 nameDir.put(name, m.rootRecid); … … 142 143 * Creates new HashSet 143 144 * @param name of set to create 145 * @param keepCounter if counter should be kept, without counter updates are faster, but entire collection needs to be traversed to count items. 144 146 * @param serializer used to convert keys into/from binary form. Use null for default value. 145 147 * @param <K> item type 146 148 * @throws IllegalArgumentException if name is already used 147 148 149 */ 149 150 150 synchronized public <K> Set<K> createHashSet(String name, Serializer<K> serializer){151 checkNameNotExists(name); 152 HTreeMap<K,Object> ret = new HTreeMap<K,Object>(engine, false, Utils.RANDOM.nextInt(), defaultSerializer, serializer, null);151 synchronized public <K> Set<K> createHashSet(String name, boolean keepCounter, Serializer<K> serializer){ 152 checkNameNotExists(name); 153 HTreeMap<K,Object> ret = new HTreeMap<K,Object>(engine, false,keepCounter,Utils.RANDOM.nextInt(), defaultSerializer, serializer, null); 153 154 nameDir.put(name, ret.rootRecid); 154 155 Set<K> ret2 = ret.keySet(); … … 180 181 }else{ 181 182 //create new map 182 ret = new BTreeMap<K,V>(engine,BTreeMap.DEFAULT_MAX_NODE_SIZE, true, false, defaultSerializer, null, null, null);183 ret = new BTreeMap<K,V>(engine,BTreeMap.DEFAULT_MAX_NODE_SIZE, true, false,false, defaultSerializer, null, null, null); 183 184 nameDir.put(name, ret.treeRecid); 184 185 } … … 192 193 * @param nodeSize maximal size of node, larger node causes overflow and creation of new BTree node. Use large number for small keys, use small number for large keys. 193 194 * @param valuesStoredOutsideNodes if true, values are stored outside of BTree nodes. Use 'true' if your values are large. 195 * @param keepCounter if counter should be kept, without counter updates are faster, but entire collection needs to be traversed to count items. 194 196 * @param keySerializer used to convert keys into/from binary form. Use null for default value. 195 197 * @param valueSerializer used to convert values into/from binary form. Use null for default value. … … 201 203 */ 202 204 synchronized public <K,V> BTreeMap<K,V> createTreeMap( 203 String name, int nodeSize, boolean valuesStoredOutsideNodes, 205 String name, int nodeSize, boolean valuesStoredOutsideNodes, boolean keepCounter, 204 206 BTreeKeySerializer<K> keySerializer, Serializer<V> valueSerializer, Comparator<K> comparator){ 205 207 checkNameNotExists(name); 206 BTreeMap<K,V> ret = new BTreeMap<K,V>(engine, nodeSize, true,valuesStoredOutsideNodes, defaultSerializer, keySerializer, valueSerializer, comparator);208 BTreeMap<K,V> ret = new BTreeMap<K,V>(engine, nodeSize, true,valuesStoredOutsideNodes, keepCounter,defaultSerializer, keySerializer, valueSerializer, comparator); 207 209 nameDir.put(name, ret.treeRecid); 208 210 collections.put(name, new WeakReference<Object>(ret)); … … 240 242 //create new map 241 243 BTreeMap<K,Object> m = new BTreeMap<K,Object>(engine,BTreeMap.DEFAULT_MAX_NODE_SIZE, 242 false, false, defaultSerializer, null, null, null);244 false, false,false, defaultSerializer, null, null, null); 243 245 nameDir.put(name, m.treeRecid); 244 246 ret = m.keySet(); … … 253 255 * @param name of set to create 254 256 * @param nodeSize maximal size of node, larger node causes overflow and creation of new BTree node. Use large number for small keys, use small number for large keys. 257 * @param keepCounter if counter should be kept, without counter updates are faster, but entire collection needs to be traversed to count items. 255 258 * @param serializer used to convert keys into/from binary form. Use null for default value. 256 259 * @param comparator used to sort keys. Use null for default value. TODO delta packing … … 259 262 * @return 260 263 */ 261 synchronized public <K> NavigableSet<K> createTreeSet(String name, int nodeSize, BTreeKeySerializer<K> serializer, Comparator<K> comparator){262 checkNameNotExists(name); 263 BTreeMap<K,Object> ret = new BTreeMap<K,Object>(engine, nodeSize, false, false, defaultSerializer, serializer, null, comparator);264 synchronized public <K> NavigableSet<K> createTreeSet(String name,int nodeSize, boolean keepCounter, BTreeKeySerializer<K> serializer, Comparator<K> comparator){ 265 checkNameNotExists(name); 266 BTreeMap<K,Object> ret = new BTreeMap<K,Object>(engine, nodeSize, false, false, keepCounter, defaultSerializer, serializer, null, comparator); 264 267 nameDir.put(name, ret.treeRecid); 265 268 NavigableSet<K> ret2 = ret.keySet();
Note:
See TracChangeset
for help on using the changeset viewer.