Class AbstractDatabaseContainer

java.lang.Object
io.github.suppierk.codegen.docker.AbstractDatabaseContainer
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
MySQL, PostgreSQL

public abstract class AbstractDatabaseContainer extends Object implements AutoCloseable
Base class that wraps a Testcontainers JdbcDatabaseContainer and exposes the common JDBC-oriented methods used by AbstractDatabaseTask. Concrete subclasses provide driver specific behaviour (e.g. MySQL driver loading).
See Also:
  • Constructor Details

    • AbstractDatabaseContainer

      protected AbstractDatabaseContainer(@Nonnull org.testcontainers.containers.JdbcDatabaseContainer<?> container)
      Default constructor which invokes workaround for repeatable builds.
      Parameters:
      container - to access TestContainers database instance
  • Method Details

    • getDatabaseContainer

      @Nonnull protected org.testcontainers.containers.JdbcDatabaseContainer<?> getDatabaseContainer()
      Provides database container handle.
      Returns:
      container for operations if needed
    • getDriverClassName

      @Nonnull public String getDriverClassName()
      Provides database driver Java class name
      Returns:
      database driver Java class name
    • getJdbcUrl

      @Nonnull public String getJdbcUrl()
      Provides database URL to the container
      Returns:
      database URL
    • getUsername

      @Nonnull public String getUsername()
      Provides database username
      Returns:
      database user
    • getPassword

      @Nonnull public String getPassword()
      Provides database password
      Returns:
      database user password
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable