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

com.redis.lettucemod.search.aggregate.Apply Maven / Gradle / Ivy

The newest version!
package com.redis.lettucemod.search.aggregate;

import com.redis.lettucemod.search.AggregateOptions;
import com.redis.lettucemod.search.protocol.CommandKeyword;
import com.redis.lettucemod.search.protocol.RediSearchCommandArgs;

public class Apply implements AggregateOptions.Operation {

    private final V expression;
    private final K as;

    public Apply(V expression, K as) {
        this.expression = expression;
        this.as = as;
    }

    @Override
    public void build(RediSearchCommandArgs args) {
        args.add(CommandKeyword.APPLY);
        args.addValue(expression);
        args.add(CommandKeyword.AS);
        args.addKey(as);
    }

    public static  ApplyBuilder expression(V expression) {
        return new ApplyBuilder<>(expression);
    }

    public static class ApplyBuilder {

        private final V expression;

        public ApplyBuilder(V expression) {
            this.expression = expression;
        }

        public Apply as(K as) {
            return new Apply<>(expression, as);
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy