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

com.fnklabs.draenei.orm.analytics.LoadIntoHazelcastConsumer Maven / Gradle / Ivy

package com.fnklabs.draenei.orm.analytics;

import com.fnklabs.draenei.orm.DataProvider;
import com.hazelcast.core.IMap;
import org.jetbrains.annotations.NotNull;

import java.io.Serializable;
import java.util.function.Consumer;


/**
 * Consumer that load data into hazelcast
 *
 * @param  Consumed data class type
 */
class LoadIntoHazelcastConsumer implements Consumer, Serializable {
    @NotNull
    private transient final IMap map;

    @NotNull
    private transient final DataProvider dataProvider;

    LoadIntoHazelcastConsumer(@NotNull IMap map, @NotNull DataProvider dataProvider) {
        this.map = map;
        this.dataProvider = dataProvider;
    }

    @Override
    public void accept(T t) {
        long key = dataProvider.buildCacheKey(t);
        map.put(key, t);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy