package it.cavallium.dbengine.database.collections; import java.io.IOException; public interface JoinerBlocking { interface ValueGetterBlocking { VALUE get(KEY key) throws IOException; } /** * Warning! You must only join with immutable data to ensure data correctness. * Good examples: message id, send date, ... * Bad examples: message content, views, edited, ... */ JOINEDVALUE join(ValueGetterBlocking dbValueGetter, DBVALUE value) throws IOException; static JoinerBlocking direct() { return (dbValueGetter, value) -> value; }; }