Package com.tangosol.net
Class ViewBuilder<K,V>
- java.lang.Object
-
- com.tangosol.net.MapViewBuilder<K,V>
-
- com.tangosol.net.ViewBuilder<K,V>
-
- Type Parameters:
K- the type of the cache entry keysV- the type of the entry values in the back cache that is used as the source for thisview
public class ViewBuilder<K,V> extends MapViewBuilder<K,V>
TheViewBuilderprovides a means tobuild()aview(ContinuousQueryCache) using a fluent pattern / style.- Since:
- 12.2.1.4
- Author:
- rl 5.22.19
- See Also:
ContinuousQueryCache
-
-
Field Summary
-
Fields inherited from class com.tangosol.net.MapViewBuilder
f_supplierNamedCache, m_fCacheValues, m_filter, m_listener, m_loader, m_mapper
-
-
Constructor Summary
Constructors Constructor Description ViewBuilder(NamedCache<K,V> cache)Construct a newViewBuilderfor the providedNamedCache.ViewBuilder(Supplier<NamedCache<K,V>> supplierNamedCache)Construct a newViewBuilderfor the providedNamedCache.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NamedCache<K,V>build()Construct aviewof theNamedCacheprovided to this builder.ViewBuilder<K,V>filter(Filter<?> filter)TheFilterthat will be used to define the entries maintained in this view.ViewBuilder<K,V>keys()The resultingviewwill only cache keys.ViewBuilder<K,V>listener(MapListener<? super K,? super V> listener)TheMapListenerthat will receive all events, including those that result from the initial population of theview.<U> ViewBuilder<K,U>map(ValueExtractor<? super V,? extends U> mapper)TheValueExtractorthat thisviewwill use to transform the results from the underlying cache prior to storing them locally.ViewBuilder<K,V>values()The resultingviewwith cache both keys and values.ViewBuilder<K,V>withClassLoader(ClassLoader loader)The optionalClassLoaderto use when performing serialization/de-serialization operations.
-
-
-
Constructor Detail
-
ViewBuilder
public ViewBuilder(NamedCache<K,V> cache)
Construct a newViewBuilderfor the providedNamedCache.- Parameters:
cache- theNamedCachefrom which the view will be created
-
ViewBuilder
public ViewBuilder(Supplier<NamedCache<K,V>> supplierNamedCache)
Construct a newViewBuilderfor the providedNamedCache. TheSuppliershould return a newNamedCacheinstance upon each invocation.- Parameters:
supplierNamedCache- theSupplierreturning aNamedCachefrom which the view will be created
-
-
Method Detail
-
filter
public ViewBuilder<K,V> filter(Filter<?> filter)
TheFilterthat will be used to define the entries maintained in this view. If noFilteris specified,AlwaysFilter.INSTANCEwill be used.- Overrides:
filterin classMapViewBuilder<K,V>- Parameters:
filter- theFilterthat will be used to query the underlyingNamedCache- Returns:
- this
ViewBuilder
-
listener
public ViewBuilder<K,V> listener(MapListener<? super K,? super V> listener)
TheMapListenerthat will receive all events, including those that result from the initial population of theview.- Overrides:
listenerin classMapViewBuilder<K,V>- Parameters:
listener- theMapListenerthat will receive all the events from theview, including those corresponding to its initial population.- Returns:
- this
ViewBuilder
-
map
public <U> ViewBuilder<K,U> map(ValueExtractor<? super V,? extends U> mapper)
TheValueExtractorthat thisviewwill use to transform the results from the underlying cache prior to storing them locally.- Overrides:
mapin classMapViewBuilder<K,V>- Type Parameters:
U- the type of the extracted value- Parameters:
mapper- theValueExtractorthat will be used to transform values retrieved from the underlying cache before storing them locally; if specified, thisviewwill becomeread-only- Returns:
- this
ViewBuilder
-
keys
public ViewBuilder<K,V> keys()
The resultingviewwill only cache keys. NOTE: this is mutually exclusive withvalues().- Overrides:
keysin classMapViewBuilder<K,V>- Returns:
- this
ViewBuilder
-
values
public ViewBuilder<K,V> values()
The resultingviewwith cache both keys and values. NOTE: this is mutually exclusive withkeys().- Overrides:
valuesin classMapViewBuilder<K,V>- Returns:
- this
ViewBuilder
-
withClassLoader
public ViewBuilder<K,V> withClassLoader(ClassLoader loader)
The optionalClassLoaderto use when performing serialization/de-serialization operations.- Overrides:
withClassLoaderin classMapViewBuilder<K,V>- Parameters:
loader- theClassLoader- Returns:
- this
ViewBuilder
-
build
public NamedCache<K,V> build()
Construct aviewof theNamedCacheprovided to this builder.- Overrides:
buildin classMapViewBuilder<K,V>- Returns:
- the
viewof theNamedCacheprovided to this builder
-
-