Interface FileManager<T>

  • Type Parameters:
    T - type of id
    All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    DummyFileManager, MysqlFileManager

    public interface FileManager<T>
    extends AutoCloseable
    This interface represents the basic functions a FileManager should have.
    Author:
    Maksim Tkachenko, Truong Quoc Tuan
    • Method Detail

      • getCallback

        @NotNull
        @NotNull Callback getCallback()
        Get callback upon completion of request.

        Please note that blocking callbacks will significantly reduce the rate at which request are processed. Please implement your own executors on I/O blocking callbacks.

        Returns:
        Callback for FileManager
      • put

        @NotNull
        @NotNull String put​(@NotNull
                            @NotNull Request request,
                            @NotNull
                            @NotNull Response response)
                     throws StorageException
        Puts record into database.
        Parameters:
        request - request
        response - Response
        Returns:
        id of record
        Throws:
        StorageException - throws StorageException
      • get

        @NotNull
        @NotNull Record<T> get​(@NotNull
                               @NotNull Request request)
                        throws StorageException
        Returns latest record matching request.
        Parameters:
        request - request
        Returns:
        stored record
        Throws:
        StorageException - throws StorageException