@Override public int getKeySize() { return wrappedKeyFactory.getKeySize(); }
private void calculateKeySize() { for(KeyFactory keyFactory : keyFactories) { diskSize += keyFactory.getKeySize(); memorySize += keyFactory.getMemorySize(); } }
@Override public int getKeySize() { return keyFactory.getKeySize() + multiValueKeyLoader.getKeySize(); }
@Override public void writeKey(Key key, int curPosition, ByteBuffer byteBuffer) throws JasDBStorageException { this.keyFactory.writeKey(key, curPosition, byteBuffer); int valueOffset = curPosition + keyFactory.getKeySize(); this.multiValueKeyLoader.writeKeys(key, valueOffset, byteBuffer); }
@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 writeKeys(Key sourceKey, int offset, ByteBuffer keyBuffer) throws JasDBStorageException { int curPosition = offset; for(KeyFactory keyFactory : keyFactories) { Key value = sourceKey.getKey(keyNameMapper, keyFactory.getFieldName()); if(value != null) { keyFactory.writeKey(value, curPosition, keyBuffer); } curPosition += keyFactory.getKeySize(); } }
@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(); } }