@Override public int compareTo(ByteArrayBKey o) { return BTreeUtil.compareByteArraysInLexOrder(bkey, o.getBytes()); }
public int compareBkeyTo(SMGetTrimKey param) { assert param != null; /* compare bkey */ if (bytebkey == null) return new Long(bkey).compareTo(param.getBkey()); else return BTreeUtil.compareByteArraysInLexOrder(bytebkey, param.getByteBkey()); }
public int compareBkeyTo(SMGetElement<T> param) { assert param != null; /* compare bkey */ if (bytebkey == null) return new Long(bkey).compareTo(param.getBkey()); else return BTreeUtil.compareByteArraysInLexOrder(bytebkey, param.getByteBkey()); }
@Override public <T> CollectionFuture<Map<ByteArrayBKey, Element<T>>> asyncBopGet( String key, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count, boolean withDelete, boolean dropIfEmpty, Transcoder<T> tc) { BTreeGet get = new BTreeGet(from, to, offset, count, withDelete, dropIfEmpty, eFlagFilter); boolean reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; return asyncBopExtendedGet(key, get, reverse, tc); }
@Override public CollectionFuture<Map<ByteArrayBKey, Element<Object>>> asyncBopGet(String key, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count, boolean withDelete, boolean dropIfEmpty) { BTreeGet get = new BTreeGet(from, to, offset, count, withDelete, dropIfEmpty, eFlagFilter); boolean reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; return asyncBopExtendedGet(key, get, reverse, collectionTranscoder); }
@Override public int compareTo(SMGetTrimKey param) { assert param != null; int comp; /* compare bkey */ if (bytebkey == null) comp = new Long(bkey).compareTo(param.getBkey()); else comp = BTreeUtil.compareByteArraysInLexOrder(bytebkey, param.getByteBkey()); /* if bkey is equal, then compare key */ if (comp == 0) comp = key.compareTo(param.getKey()); return comp; }
public BTreeSMGetWithByteTypeBkey(List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int count, SMGetMode smgetMode) { this.keyList = keyList; this.range = BTreeUtil.toHex(from) + ".." + BTreeUtil.toHex(to); this.eFlagFilter = eFlagFilter; this.count = count; this.smgetMode = smgetMode; this.reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; }
public BTreeSMGetWithByteTypeBkeyOld(List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count) { this.keyList = keyList; this.range = BTreeUtil.toHex(from) + ".." + BTreeUtil.toHex(to); this.eFlagFilter = eFlagFilter; this.offset = offset; this.count = count; this.reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; }
protected BTreeGetBulkImpl(List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count) { this.keyList = keyList; this.range = BTreeUtil.toHex(from) + ".." + BTreeUtil.toHex(to); this.eFlagFilter = eFlagFilter; this.offset = offset; this.count = count; this.reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; }
@Override public int compareTo(SMGetElement<T> param) { assert param != null; int comp; /* compare bkey */ if (bytebkey == null) comp = new Long(bkey).compareTo(param.getBkey()); else comp = BTreeUtil.compareByteArraysInLexOrder(bytebkey, param.getByteBkey()); /* if bkey is equal, then compare key */ if (comp == 0) comp = key.compareTo(param.getKey()); return comp; }
@Override public SMGetFuture<List<SMGetElement<Object>>> asyncBopSortMergeGet( List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int count, SMGetMode smgetMode) { if (keyList == null || keyList.isEmpty()) { throw new IllegalArgumentException("Key list is empty."); } if (count < 1) { throw new IllegalArgumentException("Count must be larger than 0."); } if (count > MAX_SMGET_COUNT) { throw new IllegalArgumentException("The count must not exceed a maximum of " + MAX_SMGET_COUNT + "."); } Map<String, List<String>> arrangedKey = groupingKeys(keyList, smgetKeyChunkSize); List<BTreeSMGet<Object>> smGetList = new ArrayList<BTreeSMGet<Object>>( arrangedKey.size()); for (List<String> v : arrangedKey.values()) { smGetList.add(new BTreeSMGetWithByteTypeBkey<Object>(v, from, to, eFlagFilter, count, smgetMode)); } return smget(smGetList, count, (BTreeUtil.compareByteArraysInLexOrder(from, to) > 0), collectionTranscoder, smgetMode); }
@Override public SMGetFuture<List<SMGetElement<Object>>> asyncBopSortMergeGet( List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count) { if (keyList == null || keyList.isEmpty()) { throw new IllegalArgumentException("Key list is empty."); } if (count < 1) { throw new IllegalArgumentException("Count must be larger than 0."); } if (offset + count > MAX_SMGET_COUNT) { throw new IllegalArgumentException( "The sum of offset and count must not exceed a maximum of " + MAX_SMGET_COUNT + "."); } Map<String, List<String>> arrangedKey = groupingKeys(keyList, smgetKeyChunkSize); List<BTreeSMGet<Object>> smGetList = new ArrayList<BTreeSMGet<Object>>( arrangedKey.size()); for (List<String> v : arrangedKey.values()) { if (arrangedKey.size() > 1) { smGetList.add(new BTreeSMGetWithByteTypeBkeyOld<Object>(v, from, to, eFlagFilter, 0, offset + count)); } else { smGetList.add(new BTreeSMGetWithByteTypeBkeyOld<Object>(v, from, to, eFlagFilter, offset, count)); } } return smget(smGetList, offset, count, (BTreeUtil.compareByteArraysInLexOrder(from, to) > 0), collectionTranscoder); }
public <T> CollectionGetBulkFuture<Map<String, BTreeGetResult<ByteArrayBKey, T>>> asyncBopGetBulk( List<String> keyList, byte[] from, byte[] to, ElementFlagFilter eFlagFilter, int offset, int count, Transcoder<T> tc) { if (keyList == null) { throw new IllegalArgumentException("Key list is null."); } if (keyList.size() > MAX_GETBULK_KEY_COUNT) { throw new IllegalArgumentException("Key count must not exceed a maximum of " + MAX_GETBULK_KEY_COUNT + "."); } if (offset < 0) { throw new IllegalArgumentException("Offset must be 0 or positive integet."); } if (count > MAX_GETBULK_ELEMENT_COUNT) { throw new IllegalArgumentException("Count must not exceed a maximum of " + MAX_GETBULK_ELEMENT_COUNT + "."); } Map<String, List<String>> rearrangedKeys = groupingKeys(keyList, BOPGET_BULK_CHUNK_SIZE); List<BTreeGetBulk<T>> getBulkList = new ArrayList<BTreeGetBulk<T>>( rearrangedKeys.size()); for (Entry<String, List<String>> entry : rearrangedKeys.entrySet()) { getBulkList.add(new BTreeGetBulkWithByteTypeBkey<T>(entry .getValue(), from, to, eFlagFilter, offset, count)); } boolean reverse = BTreeUtil.compareByteArraysInLexOrder(from, to) > 0; return btreeGetBulkByteArrayBKey(getBulkList, offset, count, reverse, tc); }