@Override public Key loadKey(int curPosition, ByteBuffer byteBuffer) throws JasDBStorageException { return wrappedKeyFactory.loadKey(curPosition, byteBuffer); }
@Override public KeyLoadResult loadKey(int offset, DataBlock dataBlock) throws JasDBStorageException { return wrappedKeyFactory.loadKey(offset, dataBlock); }
protected KeyLoadResult loadKeyResult(TreeBlock treeBlock, int offset, DataBlock dataBlock) throws JasDBStorageException { return keyInfo.getKeyFactory().loadKey(offset, dataBlock); }
@Override public Key loadKey(int curPosition, ByteBuffer byteBuffer) throws JasDBStorageException { Key loadedKey = keyFactory.loadKey(curPosition, byteBuffer); if(loadedKey != null) { int valueOffset = curPosition + keyFactory.getKeySize(); this.multiValueKeyLoader.loadKeys(loadedKey, valueOffset, byteBuffer); return loadedKey; } else { return null; } }
@Override public void loadKeys(Key targetKey, int offset, ByteBuffer keyBuffer) throws JasDBStorageException { int curPosition = offset; for(KeyFactory keyFactory : keyFactories) { Key valueKey = keyFactory.loadKey(curPosition, keyBuffer); targetKey.addKey(keyNameMapper, keyFactory.getFieldName(), valueKey); curPosition += keyFactory.getKeySize(); } }
@Override public KeyLoadResult loadKey(int curPosition, DataBlock dataBlock) throws JasDBStorageException { KeyLoadResult loadResult = keyFactory.loadKey(curPosition, dataBlock); if(loadResult != null) { loadResult = this.multiValueKeyLoader.loadKeys(loadResult.getLoadedKey(), loadResult.getNextOffset(), loadResult.getEndBlock()); return loadResult; } else { return null; } }
@Override public KeyLoadResult loadKeys(Key targetKey, int offset, DataBlock dataBlock) throws JasDBStorageException { int curOffset = offset; DataBlock currentBlock = dataBlock; for(KeyFactory keyFactory : keyFactories) { KeyLoadResult valueKeyResult = keyFactory.loadKey(curOffset, currentBlock); targetKey.addKey(keyNameMapper, keyFactory.getFieldName(), valueKeyResult.getLoadedKey()); currentBlock = valueKeyResult.getEndBlock(); curOffset = valueKeyResult.getNextOffset(); } return new KeyLoadResultImpl(targetKey, currentBlock, curOffset); }