Class FeatureStoreSpringJdbc

java.lang.Object
org.ff4j.store.AbstractFeatureStore
org.ff4j.springjdbc.store.FeatureStoreSpringJdbc
All Implemented Interfaces:
org.ff4j.core.FeatureStore

@Repository public class FeatureStoreSpringJdbc extends org.ff4j.store.AbstractFeatureStore
Implementation of FeatureStore to work with RDBMS through JDBC.
Author:
Cedrick LUNVEN
  • Field Details

    • FEATURE_IDENTIFIER_CANNOT_BE_NULL_NOR_EMPTY

      public static final String FEATURE_IDENTIFIER_CANNOT_BE_NULL_NOR_EMPTY
      Error message.
      See Also:
    • GROUPNAME_CANNOT_BE_NULL_NOR_EMPTY

      public static final String GROUPNAME_CANNOT_BE_NULL_NOR_EMPTY
      Error message.
      See Also:
  • Constructor Details

    • FeatureStoreSpringJdbc

      public FeatureStoreSpringJdbc()
      Default constructor.
    • FeatureStoreSpringJdbc

      public FeatureStoreSpringJdbc(DataSource ds)
      Default constructor.
  • Method Details

    • enable

      public void enable(String uid)
      Specified by:
      enable in interface org.ff4j.core.FeatureStore
      Overrides:
      enable in class org.ff4j.store.AbstractFeatureStore
    • disable

      public void disable(String uid)
      Specified by:
      disable in interface org.ff4j.core.FeatureStore
      Overrides:
      disable in class org.ff4j.store.AbstractFeatureStore
    • exist

      public boolean exist(String uid)
    • read

      public org.ff4j.core.Feature read(String uid)
    • create

      @Transactional public void create(org.ff4j.core.Feature fp)
    • delete

      @Transactional public void delete(String uid)
    • grantRoleOnFeature

      @Transactional public void grantRoleOnFeature(String uid, String roleName)
      Specified by:
      grantRoleOnFeature in interface org.ff4j.core.FeatureStore
      Overrides:
      grantRoleOnFeature in class org.ff4j.store.AbstractFeatureStore
    • removeRoleFromFeature

      @Transactional public void removeRoleFromFeature(String uid, String roleName)
      Specified by:
      removeRoleFromFeature in interface org.ff4j.core.FeatureStore
      Overrides:
      removeRoleFromFeature in class org.ff4j.store.AbstractFeatureStore
    • enableGroup

      @Transactional public void enableGroup(String groupName)
      Specified by:
      enableGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      enableGroup in class org.ff4j.store.AbstractFeatureStore
    • disableGroup

      @Transactional public void disableGroup(String groupName)
      Specified by:
      disableGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      disableGroup in class org.ff4j.store.AbstractFeatureStore
    • existGroup

      public boolean existGroup(String groupName)
      Specified by:
      existGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      existGroup in class org.ff4j.store.AbstractFeatureStore
    • readGroup

      public Map<String,org.ff4j.core.Feature> readGroup(String groupName)
      Specified by:
      readGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      readGroup in class org.ff4j.store.AbstractFeatureStore
    • addToGroup

      @Transactional public void addToGroup(String uid, String groupName)
      Specified by:
      addToGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      addToGroup in class org.ff4j.store.AbstractFeatureStore
    • removeFromGroup

      @Transactional public void removeFromGroup(String uid, String groupName)
      Specified by:
      removeFromGroup in interface org.ff4j.core.FeatureStore
      Overrides:
      removeFromGroup in class org.ff4j.store.AbstractFeatureStore
    • readAll

      public Map<String,org.ff4j.core.Feature> readAll()
    • readAllGroups

      public Set<String> readAllGroups()
      Specified by:
      readAllGroups in interface org.ff4j.core.FeatureStore
      Overrides:
      readAllGroups in class org.ff4j.store.AbstractFeatureStore
    • update

      @Transactional public void update(org.ff4j.core.Feature newFeature)
    • createSchema

      @Transactional public void createSchema()
      Specified by:
      createSchema in interface org.ff4j.core.FeatureStore
      Overrides:
      createSchema in class org.ff4j.store.AbstractFeatureStore
    • clear

      @Transactional public void clear()
    • setDataSource

      public void setDataSource(DataSource dataSource)
      Parameters:
      dataSource - the dataSource to set
    • getJdbcTemplate

      public org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
      Getter accessor for attribute 'jdbcTemplate'.
      Returns:
      current value of 'jdbcTemplate'
    • getQueryBuilder

      public org.ff4j.store.JdbcQueryBuilder getQueryBuilder()
      Returns:
      the queryBuilder
    • setQueryBuilder

      public void setQueryBuilder(org.ff4j.store.JdbcQueryBuilder queryBuilder)
      Parameters:
      queryBuilder - the queryBuilder to set