package org.jetbrains.ruby.codeInsight.types.storage.server; import javafx.util.Pair; import org.jetbrains.annotations.NotNull; import org.jetbrains.ruby.codeInsight.types.signature.RSignature; import java.io.IOException; import java.sql.SQLException; import java.util.List; public abstract class RSignatureStorageServer { @NotNull public abstract List<Pair<String, String>> getGemNamesAndVersionsFromStorage() throws SQLException; @NotNull public abstract List<RSignature> getSignaturesFromStorage(@NotNull final String gemName, @NotNull final String gemVersion) throws SQLException, ClassNotFoundException; public abstract void insertSignaturesToStorage(@NotNull final List<RSignature> signatures) throws SQLException; public abstract List<RSignature> getSignaturesFromStatFile(@NotNull final String statFileName, final boolean fromExportBucket) throws IOException; public abstract void insertSignaturesToStatFile(@NotNull final List<RSignature> signatures, @NotNull final String statFileName, final boolean toExportBucket); @NotNull public abstract List<StatFileInfo> getStatFileInfos(final boolean fromExportBucket); public abstract void deleteStatFile(@NotNull final String statFileName, final boolean fromExportBucket); }