# Interface IdDatabaseType

All Superinterfaces:
  `AutoCloseable, com.io7m.repetoir.core.RPServiceType`

All Known Implementing Classes:
  `IdDatabase`

public interface IdDatabaseType extends AutoCloseable, com.io7m.repetoir.core.RPServiceType
An open database.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `IdDatabaseConfiguration`
  `configuration()`
  `IdDatabaseConnectionType`
  `openConnection(IdDatabaseRole role)`
  Open a database connection using the given role.

  ### Methods inherited from interface com.io7m.repetoir.core.RPServiceType

  `description`

- ## Method Details

  - ### close

    void close() throws IdDatabaseException
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `IdDatabaseException`

  - ### configuration

    IdDatabaseConfiguration configuration()
    Returns:
      The configuration used to open the database

  - ### openConnection

    IdDatabaseConnectionType openConnection(IdDatabaseRole role) throws IdDatabaseException
    Open a database connection using the given role.
    Parameters:
      `role` - The role
    Returns:
      A database connection
    Throws:
      `IdDatabaseException` - On errors