Interface SingleUseObjectProvider

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean contains​(String key)
      Checks if there is a record in the store for the given key.
      Map<String,​String> get​(String key)
      Gets data associated with the given key.
      void put​(String key, long lifespanSeconds, Map<String,​String> notes)
      Stores the given data and guarantees that data should be available in the store for at least the time specified by {@param lifespanSeconds} parameter
      boolean putIfAbsent​(String key, long lifespanInSeconds)
      Will try to put the key into the cache.
      Map<String,​String> remove​(String key)
      This method returns data just if removal was successful.
      boolean replace​(String key, Map<String,​String> notes)
      Replaces data associated with the given key in the store if the store contains the key.
      • Methods inherited from interface org.keycloak.provider.Provider

        close
    • Method Detail

      • put

        void put​(String key,
                 long lifespanSeconds,
                 Map<String,​String> notes)
        Stores the given data and guarantees that data should be available in the store for at least the time specified by {@param lifespanSeconds} parameter
        Parameters:
        key -
        lifespanSeconds -
        notes -
      • get

        Map<String,​String> get​(String key)
        Gets data associated with the given key.
        Parameters:
        key - String
        Returns:
        Map Data associated with the given key or null if there is no associated data.
      • remove

        Map<String,​String> remove​(String key)
        This method returns data just if removal was successful. Implementation should guarantee that "remove" is single-use. So if 2 threads (even on different cluster nodes or on different cross-dc nodes) calls "remove(123)" concurrently, then just one of them is allowed to succeed and return data back. It can't happen that both will succeed.
        Parameters:
        key -
        Returns:
        context data associated to the key. It returns null if there are no context data available.
      • replace

        boolean replace​(String key,
                        Map<String,​String> notes)
        Replaces data associated with the given key in the store if the store contains the key.
        Parameters:
        key - String
        notes - Map New data to be stored
        Returns:
        true if the store contains the key and data was replaced, otherwise false.
      • putIfAbsent

        boolean putIfAbsent​(String key,
                            long lifespanInSeconds)
        Will try to put the key into the cache. It will succeed just if key is not already there.
        Parameters:
        key -
        lifespanInSeconds - Minimum lifespan for which successfully added key will be kept in the cache.
        Returns:
        true if the key was successfully put into the cache. This means that same key wasn't in the cache before
      • contains

        boolean contains​(String key)
        Checks if there is a record in the store for the given key.
        Parameters:
        key - String
        Returns:
        true if the record is present in the store, false otherwise.