Class SettingsCache

java.lang.Object
de.murmelmeister.murmelapi.settings.SettingsCache
All Implemented Interfaces:
MurmelCache, RefreshListener, AutoCloseable

public class SettingsCache extends Object implements MurmelCache
  • Field Details

    • ALL_KEY

      private static final String ALL_KEY
      See Also:
    • database

      private final de.murmelmeister.library.database.Database database
    • tableName

      private final String tableName
    • cache

      private final com.github.benmanes.caffeine.cache.LoadingCache<@NotNull String,Settings> cache
    • listCache

      private final com.github.benmanes.caffeine.cache.LoadingCache<@NotNull String,List<Settings>> listCache
    • fetchLimit

      private final Long fetchLimit
  • Constructor Details

    • SettingsCache

      public SettingsCache(de.murmelmeister.library.database.Database database, String tableName, Long fetchLimit, long cacheCapacity, Duration refreshInterval)
  • Method Details

    • onRefresh

      public void onRefresh(RefreshEvent<?> event)
      Specified by:
      onRefresh in interface RefreshListener
    • close

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

      public void refreshAll()
    • refreshSingle

      public void refreshSingle(String tagId)
    • loadAllFromDatabase

      private List<Settings> loadAllFromDatabase()
    • loadSingleFromDatabase

      private Settings loadSingleFromDatabase(String tagId)
    • get

      public Settings get(String tagId)
    • getCachedSettings

      public List<Settings> getCachedSettings()
    • put

      public void put(Settings settings)
    • remove

      public void remove(String tagId)
    • clear

      public void clear()