package org.infinispan.query.api.continuous; /** * Listener for continuous query events. * * @author anistor@redhat.com * @since 8.2 */ public interface ContinuousQueryListener<K, V> { /** * Receives notification that a cache entry has joined the matching set. This is invoked initially when receiving the * existing entries that match the query and subsequently whenever a previously non-matching entry is updated and * starts to match. * * @param key the key of the joining entry * @param value the joining entry or the Object[] projection if a projection was specified */ default void resultJoining(K key, V value) { } /** * Receives notification that a cache entry from the matching set was updated and continues to match the query. The * modified attributes causing this update are not necessarily part of the query. * * @param key the key of the joining entry * @param value the joining entry or the Object[] projection if specified */ default void resultUpdated(K key, V value) { } /** * Receives notification that a cache entry has left the matching set. This can happen due to an update or removal. * * @param key the key of the leaving entry */ default void resultLeaving(K key) { } }