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

com.fluxtion.runtime.dataflow.aggregate.function.AggregateToSetFlowFunction Maven / Gradle / Ivy

package com.fluxtion.runtime.dataflow.aggregate.function;

import com.fluxtion.runtime.dataflow.aggregate.AggregateFlowFunction;

import java.util.HashSet;
import java.util.Set;

public class AggregateToSetFlowFunction implements AggregateFlowFunction, AggregateToSetFlowFunction> {

    private transient final Set list = new HashSet<>();

    @Override
    public Set reset() {
        list.clear();
        return list;
    }

    @Override
    public void combine(AggregateToSetFlowFunction add) {
        list.addAll(add.list);
    }

    @Override
    public void deduct(AggregateToSetFlowFunction add) {
        list.removeAll(add.list);
    }

    @Override
    public Set get() {
        return list;
    }

    @Override
    public Set aggregate(T input) {
        list.add(input);
        return list;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy