Record Class CADatabaseConfiguration

java.lang.Object
java.lang.Record
com.io7m.cardant.database.api.CADatabaseConfiguration
Record Components:
ownerRoleName - The name of the role that owns the database; used for database setup and migrations
ownerRolePassword - The password of the role that owns the database
workerRolePassword - The password of the worker role used for normal database operation
readerRolePassword - The password of the role used for read-only database access
address - The database address
port - The database TCP/IP port
databaseName - The database name
create - The creation specification
upgrade - The upgrade specification
language - The language used for databases (such as 'english')
clock - A clock for time retrievals
strings - The string resources
typePackageSerializers - The type package serializers
minimumConnections - The minimum number of database connections in the pool
maximumConnections - The maximum number of database connections in the pool

public record CADatabaseConfiguration(String ownerRoleName, String ownerRolePassword, String workerRolePassword, Optional<String> readerRolePassword, String address, int port, String databaseName, CADatabaseCreate create, CADatabaseUpgrade upgrade, CADatabaseLanguage language, Clock clock, CAStrings strings, CATypePackageSerializerFactoryType typePackageSerializers, int minimumConnections, int maximumConnections) extends Record
The server database configuration.
  • Constructor Details

    • CADatabaseConfiguration

      public CADatabaseConfiguration(String ownerRoleName, String ownerRolePassword, String workerRolePassword, Optional<String> readerRolePassword, String address, int port, String databaseName, CADatabaseCreate create, CADatabaseUpgrade upgrade, CADatabaseLanguage language, Clock clock, CAStrings strings, CATypePackageSerializerFactoryType typePackageSerializers, int minimumConnections, int maximumConnections)
      The server database configuration.
      Parameters:
      ownerRoleName - The name of the role that owns the database; used for database setup and migrations
      ownerRolePassword - The password of the role that owns the database
      workerRolePassword - The password of the worker role used for normal database operation
      readerRolePassword - The password of the role used for read-only database access
      address - The database address
      port - The database TCP/IP port
      databaseName - The database name
      create - The creation specification
      upgrade - The upgrade specification
      language - The language used for databases (such as 'english')
      clock - A clock for time retrievals
      strings - The string resources
      typePackageSerializers - The type package serializers
      minimumConnections - The minimum number of database connections in the pool
      maximumConnections - The maximum number of database connections in the pool
  • Method Details

    • withoutUpgradeOrCreate

      public CADatabaseConfiguration withoutUpgradeOrCreate()
      Returns:
      This database configuration without database creation or upgrades enabled
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • ownerRoleName

      public String ownerRoleName()
      Returns the value of the ownerRoleName record component.
      Returns:
      the value of the ownerRoleName record component
    • ownerRolePassword

      public String ownerRolePassword()
      Returns the value of the ownerRolePassword record component.
      Returns:
      the value of the ownerRolePassword record component
    • workerRolePassword

      public String workerRolePassword()
      Returns the value of the workerRolePassword record component.
      Returns:
      the value of the workerRolePassword record component
    • readerRolePassword

      public Optional<String> readerRolePassword()
      Returns the value of the readerRolePassword record component.
      Returns:
      the value of the readerRolePassword record component
    • address

      public String address()
      Returns the value of the address record component.
      Returns:
      the value of the address record component
    • port

      public int port()
      Returns the value of the port record component.
      Returns:
      the value of the port record component
    • databaseName

      public String databaseName()
      Returns the value of the databaseName record component.
      Returns:
      the value of the databaseName record component
    • create

      public CADatabaseCreate create()
      Returns the value of the create record component.
      Returns:
      the value of the create record component
    • upgrade

      public CADatabaseUpgrade upgrade()
      Returns the value of the upgrade record component.
      Returns:
      the value of the upgrade record component
    • language

      public CADatabaseLanguage language()
      Returns the value of the language record component.
      Returns:
      the value of the language record component
    • clock

      public Clock clock()
      Returns the value of the clock record component.
      Returns:
      the value of the clock record component
    • strings

      public CAStrings strings()
      Returns the value of the strings record component.
      Returns:
      the value of the strings record component
    • typePackageSerializers

      public CATypePackageSerializerFactoryType typePackageSerializers()
      Returns the value of the typePackageSerializers record component.
      Returns:
      the value of the typePackageSerializers record component
    • minimumConnections

      public int minimumConnections()
      Returns the value of the minimumConnections record component.
      Returns:
      the value of the minimumConnections record component
    • maximumConnections

      public int maximumConnections()
      Returns the value of the maximumConnections record component.
      Returns:
      the value of the maximumConnections record component