Class RDBMSBackendMetaData

java.lang.Object
com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData
com.kingsrook.qqq.backend.module.rdbms.model.metadata.RDBMSBackendMetaData
All Implemented Interfaces:
Assessable, MetaDataProducerOutput, QMetaDataObject, TopLevelMetaDataInterface, Serializable
Direct Known Subclasses:
PostgreSQLBackendMetaData, SQLiteBackendMetaData

public class RDBMSBackendMetaData extends QBackendMetaData implements Assessable
Meta-data to provide details of an RDBMS backend (e.g., connection params)
See Also:
  • Field Details

  • Constructor Details

    • RDBMSBackendMetaData

      public RDBMSBackendMetaData()
      Default Constructor.
  • Method Details

    • doRegisterFieldFunctionAdapters

      public void doRegisterFieldFunctionAdapters()
      Register BackendFieldFunctionAdapterInterface classes to be used in this backend for known FieldFunctionTypes

      If a subclass of this module needs different adapters, it can override this method, and it should call super to register the base functions first, then register its own override implementations via registerBackendFieldFunctionAdapter(FieldFunctionTypeIdentifier, Class).

    • registerBackendFieldFunctionAdapter

      protected void registerBackendFieldFunctionAdapter(FieldFunctionTypeIdentifier fieldFunctionTypeIdentifier, Class<? extends RDBMSFieldFunctionAdapterInterface> adapterClass)
      Register a BackendFieldFunctionAdapterInterface class to be used in this backend for a specific FieldFunctionType
    • getFieldFunctionAdapter

      public RDBMSFieldFunctionAdapterInterface getFieldFunctionAdapter(FieldFunctionTypeIdentifier fieldFunctionTypeIdentifier)
      Get an instance of a BackendFieldFunctionAdapterInterface for a specific FieldFunctionType
    • withName

      public RDBMSBackendMetaData withName(String name)
      Fluent setter, override to help fluent flows
      Overrides:
      withName in class QBackendMetaData
    • getVendor

      public String getVendor()
      Getter for vendor
    • setVendor

      public void setVendor(String vendor)
      Setter for vendor
    • withVendor

      public RDBMSBackendMetaData withVendor(String vendor)
      Fluent Setter for vendor
    • getHostName

      public String getHostName()
      Getter for hostName
    • setHostName

      public void setHostName(String hostName)
      Setter for hostName
    • withHostName

      public RDBMSBackendMetaData withHostName(String hostName)
      Fluent Setter for hostName
    • getPort

      public Integer getPort()
      Getter for port
    • setPort

      public void setPort(Integer port)
      Setter for port
    • withPort

      public RDBMSBackendMetaData withPort(Integer port)
      Fluent Setter for port
    • getDatabaseName

      public String getDatabaseName()
      Getter for databaseName
    • setDatabaseName

      public void setDatabaseName(String databaseName)
      Setter for databaseName
    • withDatabaseName

      public RDBMSBackendMetaData withDatabaseName(String databaseName)
      Fluent Setter for databaseName
    • getUsername

      public String getUsername()
      Getter for username
    • setUsername

      public void setUsername(String username)
      Setter for username
    • withUsername

      public RDBMSBackendMetaData withUsername(String username)
      Fluent Setter for username
    • getPassword

      public String getPassword()
      Getter for password
    • setPassword

      public void setPassword(String password)
      Setter for password
    • withPassword

      public RDBMSBackendMetaData withPassword(String password)
      Fluent Setter for password
    • enrich

      public void enrich()
      Called by the QInstanceEnricher - to do backend-type-specific enrichments.

      Original use case is: reading secrets into fields (e.g., passwords).

      another use case is registering field function adapters doRegisterFieldFunctionAdapters()

      Overrides:
      enrich in class QBackendMetaData
    • getJdbcUrl

      public String getJdbcUrl()
      Getter for jdbcUrl
    • setJdbcUrl

      public void setJdbcUrl(String jdbcUrl)
      Setter for jdbcUrl
    • withJdbcUrl

      public RDBMSBackendMetaData withJdbcUrl(String jdbcUrl)
      Fluent setter for jdbcUrl
    • getJdbcDriverClassName

      public String getJdbcDriverClassName()
      Getter for jdbcDriverClassName
    • setJdbcDriverClassName

      public void setJdbcDriverClassName(String jdbcDriverClassName)
      Setter for jdbcDriverClassName
    • withJdbcDriverClassName

      public RDBMSBackendMetaData withJdbcDriverClassName(String jdbcDriverClassName)
      Fluent setter for jdbcDriverClassName
    • getConnectionProvider

      public QCodeReference getConnectionProvider()
      Getter for connectionProvider
    • setConnectionProvider

      public void setConnectionProvider(QCodeReference connectionProvider)
      Setter for connectionProvider
    • withConnectionProvider

      public RDBMSBackendMetaData withConnectionProvider(QCodeReference connectionProvider)
      Fluent setter for connectionProvider
    • getReadOnlyBackendMetaData

      public RDBMSBackendMetaData getReadOnlyBackendMetaData()
      Getter for readOnlyBackendMetaData
    • setReadOnlyBackendMetaData

      public void setReadOnlyBackendMetaData(RDBMSBackendMetaData readOnlyBackendMetaData)
      Setter for readOnlyBackendMetaData
    • withReadOnlyBackendMetaData

      public RDBMSBackendMetaData withReadOnlyBackendMetaData(RDBMSBackendMetaData readOnlyBackendMetaData)
      Fluent setter for readOnlyBackendMetaData
    • getConnectionPoolSettings

      public ConnectionPoolSettings getConnectionPoolSettings()
      Getter for connectionPoolSettings
    • setConnectionPoolSettings

      public void setConnectionPoolSettings(ConnectionPoolSettings connectionPoolSettings)
      Setter for connectionPoolSettings
    • withConnectionPoolSettings

      public RDBMSBackendMetaData withConnectionPoolSettings(ConnectionPoolSettings connectionPoolSettings)
      Fluent setter for connectionPoolSettings
    • buildConnectionString

      public String buildConnectionString()
    • getActionStrategyCodeReference

      public QCodeReference getActionStrategyCodeReference()
      Getter for actionStrategyCodeReference
    • setActionStrategyCodeReference

      public void setActionStrategyCodeReference(QCodeReference actionStrategyCodeReference)
      Setter for actionStrategyCodeReference
    • withActionStrategyCodeReference

      public RDBMSBackendMetaData withActionStrategyCodeReference(QCodeReference actionStrategyCodeReference)
      Fluent setter for actionStrategyCodeReference
    • getActionStrategy

      public RDBMSActionStrategyInterface getActionStrategy()
    • getActionStrategyField

      protected RDBMSActionStrategyInterface getActionStrategyField()
      note - protected - meant for sub-classes to use in their implementation of getActionStrategy, but not for public use.
    • setActionStrategyField

      protected void setActionStrategyField(RDBMSActionStrategyInterface actionStrategy)
      note - protected - meant for sub-classes to use in their implementation of getActionStrategy, but not for public use.
    • getQueriesForNewConnections

      public List<String> getQueriesForNewConnections()
      Getter for queriesForNewConnections
    • setQueriesForNewConnections

      public void setQueriesForNewConnections(List<String> queriesForNewConnections)
      Setter for queriesForNewConnections
    • withQueriesForNewConnections

      public RDBMSBackendMetaData withQueriesForNewConnections(List<String> queriesForNewConnections)
      Fluent setter for queriesForNewConnections
    • assess

      public void assess(QInstanceAssessor qInstanceAssessor, QInstance qInstance)
      Specified by:
      assess in interface Assessable