Package com.vaadin.client.data
Interface CacheStrategy
-
- All Known Implementing Classes:
CacheStrategy.AbstractBasicSymmetricalCacheStrategy
,CacheStrategy.DefaultCacheStrategy
public interface CacheStrategy
Determines what data anAbstractRemoteDataSource
should fetch and keep cached.- Since:
- 7.4
- Author:
- Vaadin Ltd
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
CacheStrategy.AbstractBasicSymmetricalCacheStrategy
A helper class for creating a simple symmetric cache strategy that uses the same logic for both rows before and after the currently cached range.static class
CacheStrategy.DefaultCacheStrategy
The default cache strategy used byAbstractRemoteDataSource
, using multiples of the page size for determining the minimum and maximum number of items to keep in the cache.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Range
getMaxCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the maximum row range that should be cached.Range
getMinCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the minimum row range that should be cached.void
onDataArrive(double roundTripTime, int rowCount)
Called whenever data requested by the data source has arrived.
-
-
-
Method Detail
-
onDataArrive
void onDataArrive(double roundTripTime, int rowCount)
Called whenever data requested by the data source has arrived. This information can e.g. be used for measuring how long it takes to fetch different number of rows from the server.A cache strategy implementation cannot use this information to keep track of which items are in the cache since the data source might discard items without notifying the cache strategy.
- Parameters:
roundTripTime
- the total number of milliseconds elapsed from requesting the data until the response was passed to the data sourcerowCount
- the number of received rows
-
getMinCacheRange
Range getMinCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the minimum row range that should be cached. The data source will fetch new data if the currently cached range does not fill the entire minimum cache range.- Parameters:
displayedRange
- the range of currently displayed rowscachedRange
- the range of currently cached rowsestimatedAvailableRange
- the estimated range of rows available for the data source- Returns:
- the minimum range of rows that should be cached, should at least include the displayed range and should not exceed the total estimated available range
-
getMaxCacheRange
Range getMaxCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the maximum row range that should be cached. The data source will discard cached rows that are outside the maximum range.- Parameters:
displayedRange
- the range of currently displayed rowscachedRange
- the range of currently cached rowsestimatedAvailableRange
- the estimated range of rows available for the data source- Returns:
- the maximum range of rows that should be cached, should at least include the displayed range and should not exceed the total estimated available range
-
-