Class CacheImpl<T extends io.fabric8.kubernetes.api.model.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 io.fabric8.kubernetes.api.model.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 String
NAMESPACE_INDEX
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addIndexers(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 listT
get(T obj)
Get objectT
getByKey(String key)
Gets get by key.Map<String,Function<T,List<String>>>
getIndexers()
Returns the indexers registered with the cache.String
getKey(T obj)
Get the key for the given objectObject
getLockObject()
List<T>
index(String indexName, T obj)
Get objectsList<String>
indexKeys(String indexName, String indexKey)
Index keys listboolean
isFullState()
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 String
metaNamespaceKeyFunc(Object obj)
It's is a convenient default KeyFunc which know show to make keys for API objects which implement HasMetadata interface.static String
namespaceKeyFunc(String objectNamespace, String objectName)
Default index function that indexes based on an object's namespace and name.T
put(T obj)
Update the object.T
remove(T obj)
Delete the object.void
removeIndexer(String name)
void
setItemStore(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:
getIndexers
in interfaceIndexer<T extends io.fabric8.kubernetes.api.model.HasMetadata>
- Returns:
- registered indexers
-
addIndexers
public void addIndexers(Map<String,Function<T,List<String>>> indexersNew)
- Specified by:
addIndexers
in interfaceIndexer<T extends io.fabric8.kubernetes.api.model.HasMetadata>
-
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:
removeIndexer
in interfaceIndexer<T extends io.fabric8.kubernetes.api.model.HasMetadata>
-
isFullState
public boolean isFullState()
-
getLockObject
public Object getLockObject()
-
-