Class CacheImpl<T extends HasMetadata>
- java.lang.Object
-
- io.fabric8.kubernetes.client.informers.impl.cache.CacheImpl<T>
-
- Type Parameters:
T- type for cache object
public class CacheImpl<T extends HasMetadata> extends Object implements Cache<T>
It basically saves and indexes all the entries.
Index readsbyIndex(String, String),indexKeys(String, String),index(String, HasMetadata)are not globally locked and thus may not be fully consistent with the current state
-
-
Field Summary
Fields Modifier and Type Field Description static StringNAMESPACE_INDEX
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddIndexers(Map<String,Function<T,List<String>>> indexersNew)CacheImpl<T>addIndexFunc(String indexName, Function<T,List<String>> indexFunc)Add index func.List<T>byIndex(String indexName, String indexKey)By index listTget(T obj)Get objectTgetByKey(String key)Gets get by key.Map<String,Function<T,List<String>>>getIndexers()Returns the indexers registered with the cache.StringgetKey(T obj)Get the key for the given objectObjectgetLockObject()List<T>index(String indexName, T obj)Get objectsList<String>indexKeys(String indexName, String indexKey)Index keys listbooleanisFullState()List<T>list()List all objects in the cache.List<String>listKeys()List keysstatic List<String>metaNamespaceIndexFunc(Object obj)It is a default index function that indexes based on an object's namespacestatic StringmetaNamespaceKeyFunc(Object obj)It's is a convenient default KeyFunc which know show to make keys for API objects which implement HasMetadata interface.static StringnamespaceKeyFunc(String objectNamespace, String objectName)Default index function that indexes based on an object's namespace and name.Tput(T obj)Update the object.Tremove(T obj)Delete the object.voidremoveIndexer(String name)voidsetItemStore(ItemStore<T> items)
-
-
-
Field Detail
-
NAMESPACE_INDEX
public static final String NAMESPACE_INDEX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getIndexers
public Map<String,Function<T,List<String>>> getIndexers()
Returns the indexers registered with the cache.- Specified by:
getIndexersin interfaceIndexer<T extends HasMetadata>- Returns:
- registered indexers
-
addIndexers
public void addIndexers(Map<String,Function<T,List<String>>> indexersNew)
- Specified by:
addIndexersin interfaceIndexer<T extends HasMetadata>
-
listKeys
public List<String> listKeys()
List keys- Specified by:
listKeysin interfaceStore<T extends HasMetadata>- Returns:
- the list of keys
-
get
public T get(T obj)
Get object- Specified by:
getin interfaceStore<T extends HasMetadata>- Parameters:
obj- the object- Returns:
- the object
-
getKey
public String getKey(T obj)
Get the key for the given object- Specified by:
getKeyin interfaceStore<T extends HasMetadata>
-
list
public List<T> list()
List all objects in the cache.- Specified by:
listin interfaceStore<T extends HasMetadata>- Returns:
- the list
-
getByKey
public T getByKey(String key)
Gets get by key.- Specified by:
getByKeyin interfaceStore<T extends HasMetadata>- Parameters:
key- specific key- Returns:
- the get by key
-
index
public List<T> index(String indexName, T obj)
Get objects- Specified by:
indexin interfaceIndexer<T extends HasMetadata>- Parameters:
indexName- specific indexing functionobj- object- Returns:
- the list
-
indexKeys
public List<String> indexKeys(String indexName, String indexKey)
Index keys list- Specified by:
indexKeysin interfaceIndexer<T extends HasMetadata>- Parameters:
indexName- specific indexing functionindexKey- specific index key- Returns:
- the list
-
byIndex
public List<T> byIndex(String indexName, String indexKey)
By index list- Specified by:
byIndexin interfaceIndexer<T extends HasMetadata>- Parameters:
indexName- specific indexing functionindexKey- specific index key- Returns:
- the list
-
addIndexFunc
public CacheImpl<T> addIndexFunc(String indexName, Function<T,List<String>> indexFunc)
Add index func.- Parameters:
indexName- the index nameindexFunc- the index func
-
metaNamespaceKeyFunc
public static String metaNamespaceKeyFunc(Object obj)
It's is a convenient default KeyFunc which know show to make keys for API objects which implement HasMetadata interface. The key uses the format namespace/name unless namespace is empty, then it's just name- Parameters:
obj- specific object- Returns:
- the key
-
namespaceKeyFunc
public static String namespaceKeyFunc(String objectNamespace, String objectName)
Default index function that indexes based on an object's namespace and name.- See Also:
metaNamespaceKeyFunc(java.lang.Object)
-
metaNamespaceIndexFunc
public static List<String> metaNamespaceIndexFunc(Object obj)
It is a default index function that indexes based on an object's namespace- Parameters:
obj- the specific object- Returns:
- the indexed value
-
removeIndexer
public void removeIndexer(String name)
- Specified by:
removeIndexerin interfaceIndexer<T extends HasMetadata>
-
isFullState
public boolean isFullState()
-
getLockObject
public Object getLockObject()
-
-