2020-12-07 22:15:18 +01:00
|
|
|
package it.cavallium.dbengine.database;
|
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
import it.cavallium.dbengine.buffers.Buf;
|
2022-04-01 01:30:56 +02:00
|
|
|
import it.cavallium.dbengine.database.disk.BinarySerializationFunction;
|
2023-02-09 23:34:25 +01:00
|
|
|
import java.io.IOException;
|
2020-12-07 22:15:18 +01:00
|
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
|
|
|
|
public interface LLSingleton extends LLKeyValueDatabaseStructure {
|
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Buf get(@Nullable LLSnapshot snapshot);
|
2021-11-12 02:05:44 +01:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
void set(Buf value);
|
2021-11-12 02:05:44 +01:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
default Buf update(BinarySerializationFunction updater, UpdateReturnMode updateReturnMode) {
|
|
|
|
var prev = this.updateAndGetDelta(updater);
|
|
|
|
return LLUtils.resolveLLDelta(prev, updateReturnMode);
|
2022-03-20 14:33:27 +01:00
|
|
|
}
|
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
LLDelta updateAndGetDelta(BinarySerializationFunction updater);
|
2022-03-20 14:33:27 +01:00
|
|
|
|
|
|
|
String getColumnName();
|
|
|
|
|
|
|
|
String getName();
|
2020-12-07 22:15:18 +01:00
|
|
|
}
|