Interface Database

All Known Implementing Classes:
AbstractDatabase, MySQLDB, SQLDB, SQLiteDB

public interface Database
Interface for interacting with a Plan SQL database.
  • Method Details

    • init

      void init()
      Initializes the Database.

      Queries can be performed after this request has completed all required transactions for the database operations.

      Throws:
      DBInitException - if Database fails to initiate.
    • close

      void close()
    • query

      <T> T query(Query<T> query)
      Execute an SQL Query statement to get a result.

      This method should only be called from an asynchronous thread.

      Type Parameters:
      T - Type of the object to be returned.
      Parameters:
      query - QueryStatement to execute.
      Returns:
      Result of the query.
    • queryOptional

      default <T> Optional<T> queryOptional(String sql, RowExtractor<T> rowExtractor, Object... parameters)
    • queryList

      default <T> List<T> queryList(String sql, RowExtractor<T> rowExtractor, Object... parameters)
    • querySet

      default <T> Set<T> querySet(String sql, RowExtractor<T> rowExtractor, Object... parameters)
    • queryCollection

      default <C extends Collection<T>, T> C queryCollection(String sql, RowExtractor<T> rowExtractor, Supplier<C> collectionConstructor, Object... parameters)
    • queryMap

      default <K, V> Map<K,V> queryMap(String sql, MapRowExtractor<K,V> rowExtractor, Object... parameters)
    • queryMap

      default <M extends Map<K, V>, K, V> M queryMap(String sql, MapRowExtractor<K,V> rowExtractor, Supplier<M> mapConstructor, Object... parameters)
    • executeTransaction

      CompletableFuture<?> executeTransaction(Transaction transaction)
      Execute an SQL Transaction.
      Parameters:
      transaction - Transaction to execute.
      Returns:
      Future that is finished when the transaction has been executed.
    • getType

      DBType getType()
      Used to get the DBType of the Database
      Returns:
      the DBType
      See Also:
    • getSql

      default Sql getSql()
    • getState

      Database.State getState()