56 lines
1.3 KiB
Java
56 lines
1.3 KiB
Java
package org.warp.jcwdb;
|
|
|
|
import it.unimi.dsi.fastutil.longs.Long2LongLinkedOpenHashMap;
|
|
import it.unimi.dsi.fastutil.longs.Long2LongMap;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.file.Path;
|
|
|
|
public class MixedIndexDatabase implements IndexManager {
|
|
private final TypesManager typesManager;
|
|
private final Long2LongMap mostAccessedIndices;
|
|
private final FileIndexManager fileIndices;
|
|
private final CacheIndexManager cacheIndices;
|
|
|
|
public MixedIndexDatabase(TypesManager typesManager, Path dataFile, Path metadataFile) throws IOException {
|
|
this.typesManager = typesManager;
|
|
this.mostAccessedIndices = new Long2LongLinkedOpenHashMap();
|
|
this.fileIndices = new FileIndexManager(typesManager, dataFile, metadataFile);
|
|
this.cacheIndices = new CacheIndexManager(typesManager);
|
|
}
|
|
|
|
@Override
|
|
public <T> T get(long index, DBReader<T> reader) {
|
|
// TODO: implement
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public int getType(long index) {
|
|
// TODO: implement
|
|
return -1;
|
|
}
|
|
|
|
@Override
|
|
public <T> void set(long index, DBDataOutput<T> writer) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void delete(long index) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public boolean has(long index) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void close() throws IOException {
|
|
// TODO: move all cached indices to filesIndices before closing.
|
|
this.cacheIndices.close();
|
|
this.fileIndices.close();
|
|
}
|
|
}
|