package org.infinispan.filter; import org.infinispan.metadata.Metadata; /** * This is a base class that should be used when implementing a KeyValueFilterConverter that provides default * implementations for the {@link org.infinispan.filter.KeyValueFilter#accept(Object, Object, org.infinispan.metadata.Metadata)} * and {@link org.infinispan.filter.Converter#convert(Object, Object, org.infinispan.metadata.Metadata)} methods so they just call the * {@link org.infinispan.filter.KeyValueFilterConverter#filterAndConvert(Object, Object, org.infinispan.metadata.Metadata)} * method and then do the right thing. * * @author wburns * @since 7.0 */ public abstract class AbstractKeyValueFilterConverter<K, V, C> implements KeyValueFilterConverter<K, V, C> { @Override public final C convert(K key, V value, Metadata metadata) { return filterAndConvert(key, value, metadata); } @Override public final boolean accept(K key, V value, Metadata metadata) { return filterAndConvert(key, value, metadata) != null; } }