package it.cavallium.dbengine.database; import it.cavallium.dbengine.client.MemoryStats; import it.cavallium.dbengine.rpc.current.data.Column; import java.io.IOException; import java.util.Map; import java.util.stream.Stream; import org.jetbrains.annotations.Nullable; public interface DatabaseProperties { MemoryStats getMemoryStats(); String getRocksDBStats(); Map getMapProperty(@Nullable Column column, RocksDBMapProperty property); Stream>> getMapColumnProperties(RocksDBMapProperty property); String getStringProperty(@Nullable Column column, RocksDBStringProperty property); Stream> getStringColumnProperties(RocksDBStringProperty property); Long getLongProperty(@Nullable Column column, RocksDBLongProperty property); Stream> getLongColumnProperties(RocksDBLongProperty property); Long getAggregatedLongProperty(RocksDBLongProperty property); Stream getTableProperties(); }