
com.redis.spring.batch.writer.Sugadd Maven / Gradle / Ivy
package com.redis.spring.batch.writer;
import java.util.function.Function;
import java.util.function.Predicate;
import com.redis.lettucemod.api.async.RedisModulesAsyncCommands;
import com.redis.lettucemod.search.Suggestion;
import io.lettuce.core.RedisFuture;
import io.lettuce.core.api.async.BaseRedisAsyncCommands;
public class Sugadd extends AbstractKeyValueOperation, T> {
private Predicate incrPredicate = t -> false;
public Sugadd(Function keyFunction, Function> suggestionFunction) {
super(keyFunction, suggestionFunction);
}
public void setIncr(boolean incr) {
this.incrPredicate = t -> incr;
}
public void setIncrPredicate(Predicate predicate) {
this.incrPredicate = predicate;
}
@SuppressWarnings("rawtypes")
@Override
protected RedisFuture execute(BaseRedisAsyncCommands commands, T item, K key, Suggestion value) {
if (incrPredicate.test(item)) {
return ((RedisModulesAsyncCommands) commands).ftSugaddIncr(key, value);
}
return ((RedisModulesAsyncCommands) commands).ftSugadd(key, value);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy