com.vaadin.client.data.
Class CacheStrategy.AbstractBasicSymmetricalCacheStrategy
- java.lang.Object
-
- com.vaadin.client.data.CacheStrategy.AbstractBasicSymmetricalCacheStrategy
-
All Implemented Interfaces:
Direct Known Subclasses:
Enclosing interface:
public abstract static class CacheStrategy.AbstractBasicSymmetricalCacheStrategy extends Object implements CacheStrategy
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.
This simple approach rules out more advanced heuristics that would take the current scrolling direction or past scrolling behavior into account.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.vaadin.client.data.CacheStrategy
CacheStrategy.AbstractBasicSymmetricalCacheStrategy, CacheStrategy.DefaultCacheStrategy
-
-
Constructor Summary
Constructors Constructor Description AbstractBasicSymmetricalCacheStrategy()
-
Method Summary
All Methods Modifier and Type Method Description Range
getMaxCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the maximum row range that should be cached.
abstract int
getMaximumCacheSize(int pageSize)
Gets the maximum number of extra items to cache in one direction.
Range
getMinCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Gets the minimum row range that should be cached.
abstract int
getMinimumCacheSize(int pageSize)
Gets the the minimum number of extra items to cache in one direction.
void
onDataArrive(double roundTripTime, int rowCount)
Called whenever data requested by the data source has arrived.
-
-
-
Method Detail
-
onDataArrive
public void onDataArrive(double roundTripTime, int rowCount)
Description copied from interface:
CacheStrategy
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.
Specified by:
onDataArrive
in interfaceCacheStrategy
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
public Range getMinCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Description copied from interface:
CacheStrategy
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.
Specified by:
getMinCacheRange
in interfaceCacheStrategy
Parameters:
displayedRange
- the range of currently displayed rowscachedRange
- the range of currently cached rowsestimatedAvailableRange
- the estimated range of rows available for the data sourceReturns:
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
public Range getMaxCacheRange(Range displayedRange, Range cachedRange, Range estimatedAvailableRange)
Description copied from interface:
CacheStrategy
Gets the maximum row range that should be cached. The data source will discard cached rows that are outside the maximum range.
Specified by:
getMaxCacheRange
in interfaceCacheStrategy
Parameters:
displayedRange
- the range of currently displayed rowscachedRange
- the range of currently cached rowsestimatedAvailableRange
- the estimated range of rows available for the data sourceReturns:
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
-
getMaximumCacheSize
public abstract int getMaximumCacheSize(int pageSize)
Gets the maximum number of extra items to cache in one direction.
Parameters:
pageSize
- the current number of items used at onceReturns:
maximum of items to cache
-
getMinimumCacheSize
public abstract int getMinimumCacheSize(int pageSize)
Gets the the minimum number of extra items to cache in one direction.
Parameters:
pageSize
- the current number of items used at onceReturns:
minimum number of items to cache
-
-