/** * Constructs a {@link MutableCacheEntryListenerConfiguration} based on * another {@link CacheEntryListenerConfiguration}. * * @param configuration the {@link CacheEntryListenerConfiguration} */ public MutableCacheEntryListenerConfiguration(CacheEntryListenerConfiguration<K, V> configuration) { this.listenerFactory = configuration.getCacheEntryListenerFactory(); this.filterFactory = configuration.getCacheEntryEventFilterFactory(); this.isOldValueRequired = configuration.isOldValueRequired(); this.isSynchronous = configuration.isSynchronous(); }
/** * Registers a cache entry listener based on the supplied configuration. * * @param configuration the listener's configuration. */ public void register(CacheEntryListenerConfiguration<K, V> configuration) { if (configuration.getCacheEntryListenerFactory() == null) { return; } EventTypeAwareListener<K, V> listener = new EventTypeAwareListener<>( configuration.getCacheEntryListenerFactory().create()); CacheEntryEventFilter<K, V> filter = event -> true; if (configuration.getCacheEntryEventFilterFactory() != null) { filter = new EventTypeFilter<>(listener, configuration.getCacheEntryEventFilterFactory().create()); } Registration<K, V> registration = new Registration<>(configuration, filter, listener); dispatchQueues.putIfAbsent(registration, CompletableFuture.completedFuture(null)); }
static void checkListener(CaffeineConfiguration<?, ?> config) { CacheEntryListenerConfiguration<?, ?> listener = Iterables.getOnlyElement( config.getCacheEntryListenerConfigurations()); assertThat(listener.getCacheEntryListenerFactory().create(), instanceOf(TestCacheEntryListener.class)); assertThat(listener.getCacheEntryEventFilterFactory().create(), instanceOf(TestCacheEntryEventFilter.class)); assertThat(listener.isSynchronous(), is(true)); assertThat(listener.isOldValueRequired(), is(true)); }
@SuppressWarnings("unchecked") static <K, V> ListenerResources<K, V> createListenerResources(CacheEntryListenerConfiguration<K, V> listenerConfig) { CacheEntryListener<? super K, ? super V> listener = listenerConfig.getCacheEntryListenerFactory().create(); // create the filter, closing the listener above upon exception CacheEntryEventFilter<? super K, ? super V> filter; try { Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = listenerConfig .getCacheEntryEventFilterFactory(); if (filterFactory != null) { filter = listenerConfig.getCacheEntryEventFilterFactory().create(); } else { filter = event -> true; } } catch (Throwable t) { throw closeAllAfter(new CacheException(t), listener); } try { return new ListenerResources<>(listener, filter); } catch (Throwable t) { throw closeAllAfter(new CacheException(t), filter, listener); } }
final CacheEntryListener<? super K, ? super V> listener = factory.create(); Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory(); final CacheEntryEventFilter<? super K, ? super V> filter; if (filterFactory != null) {
final CacheEntryListener<? super K, ? super V> listener = factory.create(); Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory(); final CacheEntryEventFilter<? super K, ? super V> filter; if (filterFactory != null) {
@Override public CacheContinuousQueryHandler apply() { CacheContinuousQueryHandler hnd; Factory<CacheEntryEventFilter> rmtFilterFactory = cfg.getCacheEntryEventFilterFactory();
public SimpleListener(final CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) { final Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = cacheEntryListenerConfiguration .getCacheEntryEventFilterFactory(); if (filterFactory == null) { this.filter = NoFilter.INSTANCE; } else { final CacheEntryEventFilter<? super K, ? super V> filter = filterFactory.create(); this.filter = (CacheEntryEventFilter<? super K, ? super V>) (filter == null ? NoFilter.INSTANCE : filter); } delegate = cacheEntryListenerConfiguration.getCacheEntryListenerFactory().create(); remove = CacheEntryRemovedListener.class.isInstance(delegate); expire = CacheEntryExpiredListener.class.isInstance(delegate); update = CacheEntryUpdatedListener.class.isInstance(delegate); create = CacheEntryCreatedListener.class.isInstance(delegate); }
@Override public void registerCacheEntryListener(CacheEntryListenerConfiguration<K, CacheEntry<CE>> cacheEntryListenerConfiguration) { CacheEntryEventFilter<? super K, ? super CacheEntry<CE>> ef = cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory().create(); listeners.put(ef, (CacheEntryListener<K, CacheEntry<CE>>) cacheEntryListenerConfiguration.getCacheEntryListenerFactory().create()); }
@Override public void deregisterCacheEntryListener(CacheEntryListenerConfiguration<K, CacheEntry<CE>> cacheEntryListenerConfiguration) { CacheEntryEventFilter<? super K, ? super CacheEntry<CE>> ef = cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory().create(); listeners.remove(ef, cacheEntryListenerConfiguration.getCacheEntryListenerFactory().create()); }
/** * Constructs a {@link MutableCacheEntryListenerConfiguration} based on * another {@link CacheEntryListenerConfiguration}. * * @param configuration the {@link CacheEntryListenerConfiguration} */ public MutableCacheEntryListenerConfiguration(CacheEntryListenerConfiguration<K, V> configuration) { this.listenerFactory = configuration.getCacheEntryListenerFactory(); this.filterFactory = configuration.getCacheEntryEventFilterFactory(); this.isOldValueRequired = configuration.isOldValueRequired(); this.isSynchronous = configuration.isSynchronous(); }
public MutableCacheEntryListenerConfiguration(final CacheEntryListenerConfiguration<K, V> configuration) { this.listenerFactory = configuration.getCacheEntryListenerFactory(); this.filterFactory = configuration.getCacheEntryEventFilterFactory(); this.isOldValueRequired = configuration.isOldValueRequired(); this.isSynchronous = configuration.isSynchronous(); }
public JCSListener(final CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) { oldValue = cacheEntryListenerConfiguration.isOldValueRequired(); synchronous = cacheEntryListenerConfiguration.isSynchronous(); final Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = cacheEntryListenerConfiguration .getCacheEntryEventFilterFactory(); if (filterFactory == null) { filter = NoFilter.INSTANCE; } else { filter = filterFactory.create(); } delegate = cacheEntryListenerConfiguration.getCacheEntryListenerFactory().create(); remove = CacheEntryRemovedListener.class.isInstance(delegate); expire = CacheEntryExpiredListener.class.isInstance(delegate); update = CacheEntryUpdatedListener.class.isInstance(delegate); create = CacheEntryCreatedListener.class.isInstance(delegate); }
public JCSListener(final CacheEntryListenerConfiguration<K, V> cacheEntryListenerConfiguration) { oldValue = cacheEntryListenerConfiguration.isOldValueRequired(); synchronous = cacheEntryListenerConfiguration.isSynchronous(); final Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = cacheEntryListenerConfiguration .getCacheEntryEventFilterFactory(); if (filterFactory == null) { filter = NoFilter.INSTANCE; } else { filter = filterFactory.create(); } delegate = cacheEntryListenerConfiguration.getCacheEntryListenerFactory().create(); remove = CacheEntryRemovedListener.class.isInstance(delegate); expire = CacheEntryExpiredListener.class.isInstance(delegate); update = CacheEntryUpdatedListener.class.isInstance(delegate); create = CacheEntryCreatedListener.class.isInstance(delegate); }
/** * Registers a cache entry listener based on the supplied configuration. * * @param configuration the listener's configuration. */ public void register(CacheEntryListenerConfiguration<K, V> configuration) { if (configuration.getCacheEntryListenerFactory() == null) { return; } EventTypeAwareListener<K, V> listener = new EventTypeAwareListener<>( configuration.getCacheEntryListenerFactory().create()); CacheEntryEventFilter<K, V> filter = event -> true; if (configuration.getCacheEntryEventFilterFactory() != null) { filter = new EventTypeFilter<>(listener, configuration.getCacheEntryEventFilterFactory().create()); } Registration<K, V> registration = new Registration<>(configuration, filter, listener); dispatchQueues.putIfAbsent(registration, CompletableFuture.completedFuture(null)); }
@SuppressWarnings("unchecked") static <K, V> ListenerResources<K, V> createListenerResources(CacheEntryListenerConfiguration<K, V> listenerConfig) { CacheEntryListener<? super K, ? super V> listener = listenerConfig.getCacheEntryListenerFactory().create(); // create the filter, closing the listener above upon exception CacheEntryEventFilter<? super K, ? super V> filter; try { Factory<CacheEntryEventFilter<? super K, ? super V>> filterFactory = listenerConfig .getCacheEntryEventFilterFactory(); if (filterFactory != null) { filter = listenerConfig.getCacheEntryEventFilterFactory().create(); } else { filter = event -> true; } } catch (Throwable t) { throw closeAllAfter(new CacheException(t), listener); } try { return new ListenerResources<>(listener, filter); } catch (Throwable t) { throw closeAllAfter(new CacheException(t), filter, listener); } }
oldValueRequired = cacheEntryListenerConfiguration.isOldValueRequired(); synchronous = cacheEntryListenerConfiguration.isSynchronous(); if(cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory() != null) { cacheEntryEventFilter = cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory().create(); } else { cacheEntryEventFilter = null;
.getCacheEntryEventFilterFactory(); if (filterFactory != null) filter = filterFactory.create();
cacheEntryListenerConfiguration.getCacheEntryEventFilterFactory(); if (filterFactory != null) { this.filter = filterFactory.create();
@Override public CacheContinuousQueryHandler apply() { CacheContinuousQueryHandler hnd; Factory<CacheEntryEventFilter> rmtFilterFactory = cfg.getCacheEntryEventFilterFactory();