1 /* 2 * Hunt - A redis client library for D programming language. 3 * 4 * Copyright (C) 2018-2019 HuntLabs 5 * 6 * Website: https://www.huntlabs.net/ 7 * 8 * Licensed under the Apache-2.0 License. 9 * 10 */ 11 12 module hunt.redis.util.RedisByteHashMap; 13 14 import hunt.util.ArrayHelper; 15 import hunt.collection.Collection; 16 import hunt.collection.HashMap; 17 import hunt.collection.HashSet; 18 import hunt.collection.Iterator; 19 import hunt.collection.Map; 20 import hunt.collection.Set; 21 22 import hunt.Byte; 23 24 alias RedisByteHashMap = HashMap!(const(ubyte)[], const(ubyte)[]); 25 26 // class RedisByteHashMap : Map!(const(ubyte)[], const(ubyte)[]), Cloneable { // , Serializable 27 // private Map!(Bytes, const(ubyte)[]) internalMap = new HashMap!(ByteArrayWrapper, const(ubyte)[])(); 28 29 // this() { 30 // internalMap = new HashMap!(Bytes, const(ubyte)[])(); 31 // } 32 33 // override 34 // void clear() { 35 // internalMap.clear(); 36 // } 37 38 // override 39 // bool containsKey(const(ubyte)[] key) { 40 // // if (key instanceof const(ubyte)[]) return internalMap.containsKey(new ByteArrayWrapper((const(ubyte)[]) key)); 41 // // return internalMap.containsKey(key); 42 // return internalMap.containsKey(new Bytes(key)); 43 // } 44 45 // override 46 // bool containsValue(const(ubyte)[] value) { 47 // return internalMap.containsValue(value); 48 // } 49 50 // // override 51 // // Set<hunt.collection.MapEntry!(const(ubyte)[], const(ubyte)[])> entrySet() { 52 // // Iterator<hunt.collection.MapEntry!(ByteArrayWrapper, const(ubyte)[])> iterator = internalMap.entrySet() 53 // // .iterator(); 54 // // HashSet!(Entry!(const(ubyte)[], const(ubyte)[])) hashSet = new HashSet<hunt.collection.MapEntry!(const(ubyte)[], const(ubyte)[])>(); 55 // // while (iterator.hasNext()) { 56 // // Entry!(ByteArrayWrapper, const(ubyte)[]) entry = iterator.next(); 57 // // hashSet.add(new RedisByteEntry(entry.getKey().data, entry.getValue())); 58 // // } 59 // // return hashSet; 60 // // } 61 62 // override 63 // const(ubyte)[] get(const(ubyte)[] key) { 64 // // if (key instanceof const(ubyte)[]) return internalMap.get(new ByteArrayWrapper((const(ubyte)[]) key)); 65 // // return internalMap.get(key); 66 // return internalMap.get(new Bytes(key)); 67 // } 68 69 // override 70 // bool isEmpty() { 71 // return internalMap.isEmpty(); 72 // } 73 74 75 // override InputRange!(const(ubyte)[]) byKey() { 76 // return internalMap.byKey(); 77 // } 78 79 // override InputRange!(const(ubyte)[]) byValue() { 80 // return internalMap.byValue(); 81 // } 82 83 // override int opApply(scope int delegate(const(ubyte)[], const(ubyte)[]) dg) { 84 // int r = 0; 85 // foreach(Bytes key, const(ubyte)[] value; internalMap) { 86 // r = dg(key.value, value); 87 // } 88 89 // return r; 90 // } 91 92 // override 93 // const(ubyte)[] put(const(ubyte)[] key, const(ubyte)[] value) { 94 // return internalMap.put(new Bytes(key), value); 95 // } 96 97 // // override 98 99 // // void putAll(Map<? extends const(ubyte)[], ? extends const(ubyte)[]> m) { 100 // // Iterator<?> iterator = m.entrySet().iterator(); 101 // // while (iterator.hasNext()) { 102 // // Entry<? extends const(ubyte)[], ? extends const(ubyte)[]> next = (Entry<? extends const(ubyte)[], ? extends const(ubyte)[]>) iterator 103 // // .next(); 104 // // internalMap.put(new ByteArrayWrapper(next.getKey()), next.getValue()); 105 // // } 106 // // } 107 108 // override 109 // const(ubyte)[] remove(const(ubyte)[] key) { 110 // return internalMap.remove(new Bytes(key)); 111 // } 112 113 // override 114 // int size() { 115 // return internalMap.size(); 116 // } 117 118 // override 119 // const(ubyte)[][] values() { 120 // return internalMap.values(); 121 // } 122 123 // }