Class: QgsAbstractCacheIndex

Abstract base class for cache indices.

Note

This is an abstract class, with methods which must be implemented by a subclass.

The following methods must be implemented: flush(), flushFeature(), getCacheIterator()

Class Hierarchy

Inheritance diagram of qgis.core.QgsAbstractCacheIndex

Subclasses

QgsCacheIndexFeatureId

Indexes cached features using feature IDs.

Abstract Methods

flush

Sometimes, the whole cache changes its state and its easier to just withdraw everything.

flushFeature

Is called whenever a feature is removed from the cache.

getCacheIterator

Is called when a feature request is issued on a cached layer.

Virtual Methods

In PyQGIS, only methods marked as virtual can be safely overridden in a Python subclass of QgsAbstractCacheIndex. See the FAQ for more details.

requestCompleted

Implement this method to update the the indices, in case you need information contained by the request to properly index.

class qgis.core.QgsAbstractCacheIndex[source]

Bases: object

abstract flush(self)[source]

Sometimes, the whole cache changes its state and its easier to just withdraw everything. In this case, this method is issued. Be sure to clear all cache information in here.

abstract flushFeature(self, fid: int)[source]

Is called whenever a feature is removed from the cache. You should update your indexes so they become invalid in case this feature was required to successfully answer a request.

Parameters:

fid (int)

abstract getCacheIterator(self, featureIterator: QgsFeatureIterator, featureRequest: QgsFeatureRequest) bool[source]

Is called when a feature request is issued on a cached layer.

If this cache index is able to completely answer the feature request, it will return True and set the iterator to a valid iterator over the cached features. If it is not able it will return False.

Parameters:
  • featureIterator (QgsFeatureIterator) – A reference to a QgsFeatureIterator. A valid featureIterator will be assigned in case this index is able to answer the request and the return value is True.

  • featureRequest (QgsFeatureRequest) – The feature request, for which this index is queried.

Return type:

bool

Returns:

True, if this index holds the information to answer the request.

virtual requestCompleted(self, featureRequest: QgsFeatureRequest, fids: Any)[source]

Implement this method to update the the indices, in case you need information contained by the request to properly index. (E.g. spatial index) Does nothing by default

Parameters:
  • featureRequest (QgsFeatureRequest) – The feature request that was answered

  • fids (Any) – The feature ids that have been returned