
com.github.bezsias.multimap.MultiMapBuilder Maven / Gradle / Ivy
package com.github.bezsias.multimap;
import java.io.IOException;
import java.io.Serializable;
import java.util.HashMap;
public class MultiMapBuilder {
private MapFactory mapFactory = HashMap::new;
private int blockSizeKb = 8;
public MultiMapBuilder() {}
public MultiMapBuilder blockSizeKb(int blockSizeKb) {
this.blockSizeKb = blockSizeKb;
return this;
}
public MultiMapBuilder mapFactory(MapFactory mapFactory) {
this.mapFactory = mapFactory;
return this;
}
public MultiMap booleanMap() throws IOException {
return new CompactMultiMap<>(BytePackager.booleanBytePackager(blockSizeKb), mapFactory);
}
public MultiMap byteMap() throws IOException {
return new CompactMultiMap<>(BytePackager.byteBytePackager(blockSizeKb), mapFactory);
}
public MultiMap shortMap() throws IOException {
return new CompactMultiMap<>(BytePackager.shortBytePackager(blockSizeKb), mapFactory);
}
public MultiMap intMap() throws IOException {
return new CompactMultiMap<>(BytePackager.intBytePackager(blockSizeKb), mapFactory);
}
public MultiMap longMap() throws IOException {
return new CompactMultiMap<>(BytePackager.longBytePackager(blockSizeKb), mapFactory);
}
public MultiMap floatMap() throws IOException {
return new CompactMultiMap<>(BytePackager.floatBytePackager(blockSizeKb), mapFactory);
}
public MultiMap doubleMap() throws IOException {
return new CompactMultiMap<>(BytePackager.doubleBytePackager(blockSizeKb), mapFactory);
}
public MultiMap objectMap() throws IOException {
return new CompactMultiMap<>(BytePackager.objBytePackager(blockSizeKb), mapFactory);
}
public MultiMap byteArrayMap() throws IOException {
return new CompactByteArrayMultiMap<>(BytePackager.byteArrayBytePackager(blockSizeKb), mapFactory);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy