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

fun.mike.flapjack.pipeline.lab.SetOutputContext Maven / Gradle / Ivy

The newest version!
package fun.mike.flapjack.pipeline.lab;

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

import fun.mike.record.alpha.Record;

public class SetOutputContext implements OutputContext> {
    @Override
    public OutputChannel> buildChannel() {
        return new SetOutputChannel();
    }

    @Override
    public void accept(OutputContextVisitor visitor) {
        visitor.accept(this);
    }

    private final class SetOutputChannel implements OutputChannel> {
        private final Set records;

        public SetOutputChannel() {
            records = new HashSet<>();
        }

        @Override
        public Optional put(int number, String line, Record value) {
            records.add(value);
            return Optional.empty();
        }

        @Override
        public Set getValue() {
            return records;
        }

        @Override
        public void close() {
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy