All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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