All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.notifications.cachelistener.filter.CacheEventFilterConverter Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.notifications.cachelistener.filter;

import org.infinispan.metadata.Metadata;

/**
 * This interface is an optimization that can be used when an event filter and converter are most efficiently used as
 * the same object composing the filtering and conversion in the same method invocation.
 *
 * @author wburns
 * @since 7.0
 */
public interface CacheEventFilterConverter extends CacheEventFilter, CacheEventConverter {
   /**
    * Will both filter the entry and if passed subsequently convert the value to a new value.  A returned value of null
    * will symbolize the value not passing the filter, so ensure your conversion will not return null if you want this
    * entry to be returned.
    * @param key The key for the entry that was changed for the event
    * @param oldValue The previous value before the event takes place
    * @param oldMetadata The old value before the event takes place
    * @param newValue The new value for the entry after the event takes place
    * @param newMetadata The new metadata for the entry after the event takes place
    * @param eventType The type of event that is being raised
    * @return A non null value converted value when it also passes the filter or null for when it doesn't pass the filter
    */
   public C filterAndConvert(K key, V oldValue, Metadata oldMetadata, V newValue, Metadata newMetadata,
                             EventType eventType);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy