package com.zillabyte.motherbrain.flow.rpc; import java.util.Collection; import java.util.LinkedList; import org.eclipse.jdt.annotation.NonNullByDefault; import org.javatuples.Pair; import com.zillabyte.motherbrain.flow.MapTuple; @NonNullByDefault public final class RPCRequest { public final String id; final Collection<Pair<String, MapTuple>> tuples; RPCRequest(final String id) { this.tuples = new LinkedList<>(); this.id = id; } public Collection<Pair<String, MapTuple>> getTuples() { return tuples; } public RPCRequest addTuple(Pair<String, MapTuple> tuple) { tuples.add(tuple); return this; } public RPCRequest addTuple(String inputId, MapTuple tuple) { return addTuple(new Pair<>(inputId, tuple)); } public static RPCRequest create(final String id) { RPCRequest req = new RPCRequest(id); return req; } @Override public String toString() { return "<id: " + id + " tuples: " + tuples + ">"; } }