Interface Store<T>

Type Parameters:
T - resource
All Known Subinterfaces:
Indexer<T>
All Known Implementing Classes:
Cache, DeltaFIFO

public interface Store<T>
Store is a generic object storage interface. Reflector knows how to watch a server and update a store. A generic store is provided, which allows Reflector to be used as a local caching system, and an Least Recently Used store, which allows Reflector to work like a queue of items yet to be processed. It makes no assumptions about the stored object identity; it is the responsibility of a Store implementation to provide a mechanism to correctly key objects and to define the contract for obtaining objects by some arbitrary key type. This is ported from official go client: https://github.com/kubernetes/client-go/blob/master/tools/cache/store.go
  • Method Summary

    Modifier and Type Method Description
    void add​(T obj)
    Inserts an item into the store
    void delete​(T obj)
    Removes an item from the store
    Object get​(T object)
    Returns the requested item.
    T getByKey​(String key)
    Returns the request item with specific key.
    void isPopulated​(boolean isPopulated)
    Updates the status of cache in case of any API error from Kubernetes server
    List<T> list()
    Returns a list of all the items.
    List<String> listKeys()
    returns a list of all keys of the object currently in the store.
    void replace​(List<T> list, String resourceVersion)
    Deletes the contents of the store, using instead the given list.
    void resync()
    Sends a resync event for each item.
    void update​(T obj)
    Sets an item in the store to its updated state.
  • Method Details

    • add

      void add​(T obj)
      Inserts an item into the store
      Parameters:
      obj - object
    • update

      void update​(T obj)
      Sets an item in the store to its updated state.
      Parameters:
      obj - object
    • delete

      void delete​(T obj)
      Removes an item from the store
      Parameters:
      obj - object
    • list

      List<T> list()
      Returns a list of all the items.
      Returns:
      list of all items
    • listKeys

      List<String> listKeys()
      returns a list of all keys of the object currently in the store.
      Returns:
      list of all keys
    • get

      Object get​(T object)
      Returns the requested item.
      Parameters:
      object - object
      Returns:
      requested item if exists.
    • getByKey

      T getByKey​(String key)
      Returns the request item with specific key.
      Parameters:
      key - specific key
      Returns:
      the requested item
    • replace

      void replace​(List<T> list, String resourceVersion)
      Deletes the contents of the store, using instead the given list. Store takes ownership of the list, you should not reference it after calling this function
      Parameters:
      list - list of objects
      resourceVersion - resource version
    • resync

      void resync()
      Sends a resync event for each item.
    • isPopulated

      void isPopulated​(boolean isPopulated)
      Updates the status of cache in case of any API error from Kubernetes server
      Parameters:
      isPopulated - boolean value indicating whether cache is populated or not