Class AbstractJdbcProxyManagerBuilder<K,P extends ProxyManager<K>,B extends AbstractJdbcProxyManagerBuilder<K,P,B>>

java.lang.Object
io.github.bucket4j.distributed.proxy.AbstractProxyManagerBuilder<K,P,B>
io.github.bucket4j.distributed.jdbc.AbstractJdbcProxyManagerBuilder<K,P,B>
Type Parameters:
K - type of key
P - type of proxy manager that is being build
B - the type of builder extending AbstractJdbcProxyManagerBuilder

public abstract class AbstractJdbcProxyManagerBuilder<K,P extends ProxyManager<K>,B extends AbstractJdbcProxyManagerBuilder<K,P,B>> extends AbstractProxyManagerBuilder<K,P,B>
Base class for all JDBC proxy-manager builders.
  • Field Details

  • Constructor Details

    • AbstractJdbcProxyManagerBuilder

      public AbstractJdbcProxyManagerBuilder(DataSource dataSource, PrimaryKeyMapper<K> primaryKeyMapper)
  • Method Details

    • table

      public B table(String tableName)
      Specifies name of table to use as a Buckets store
      Parameters:
      tableName - of table to use as a Buckets store
      Returns:
      this builder instance
    • idColumn

      public B idColumn(String idColumnName)
      Specifies name of primary key in buckets table
      Parameters:
      idColumnName - name of primary key in buckets table
      Returns:
      this builder instance
    • stateColumn

      public B stateColumn(String stateColumnName)
      Specifies name column that used to store a state of bucket
      Parameters:
      stateColumnName - name of column that used to store a state of bucket
      Returns:
      this builder instance
    • expiresAtColumn

      public B expiresAtColumn(String expiresAtColumnName)
      Specifies name of column that used to store expiration date, instead of name "expires_at" that is configured by default.
      Parameters:
      expiresAtColumnName - name of column that used to store expiration date
      Returns:
      this builder instance
    • addCustomColumn

      public B addCustomColumn(CustomColumnProvider<K> column)
      Specifies provider of custom field value
      Parameters:
      column - provider of custom field value
      Returns:
      this builder instance
    • getDataSource

      public DataSource getDataSource()
    • getPrimaryKeyMapper

      public PrimaryKeyMapper<K> getPrimaryKeyMapper()
    • getTableName

      public String getTableName()
    • getIdColumnName

      public String getIdColumnName()
    • getStateColumnName

      public String getStateColumnName()
    • getExpiresAtColumnName

      public String getExpiresAtColumnName()
    • getCustomColumns

      public List<CustomColumnProvider<K>> getCustomColumns()