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

com.redis.spring.batch.writer.TsAdd Maven / Gradle / Ivy

package com.redis.spring.batch.writer;

import java.util.function.Function;

import com.redis.lettucemod.api.async.RedisTimeSeriesAsyncCommands;
import com.redis.lettucemod.timeseries.AddOptions;
import com.redis.lettucemod.timeseries.Sample;

import io.lettuce.core.RedisFuture;
import io.lettuce.core.api.async.BaseRedisAsyncCommands;

public class TsAdd extends AbstractKeyValueOperation {

	private Function> optionsFunction = t -> null;

	public TsAdd(Function keyFunction, Function sampleFunction) {
		super(keyFunction, sampleFunction);
	}

	public void setOptions(AddOptions options) {
		this.optionsFunction = t -> options;
	}

	public void setOptionsFunction(Function> function) {
		this.optionsFunction = function;
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	protected RedisFuture execute(BaseRedisAsyncCommands commands, T item, K key, Sample value) {
		AddOptions options = optionsFunction.apply(item);
		return ((RedisTimeSeriesAsyncCommands) commands).tsAdd(key, value, options);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy