package com.acuitra.pipeline; import java.util.HashMap; import java.util.Map; public class Context<T, O> { private boolean error; private RuntimeException exception = null; private T input; private Map<String, O> previousOutputs = new HashMap<>(); private Map<String, String> attributes = new HashMap<>(); public Map<String, O> getPreviousOutputs() { return previousOutputs; } public void setPreviousOutputs(Map<String, O> previousOutputs) { this.previousOutputs = previousOutputs; } public T getInput() { return input; } public void setInput(T input) { this.input = input; } public O getPreviousOutput(String key) { return previousOutputs.get(key); } public void addOutput(String key, O output) { previousOutputs.put(key, output); } public boolean isError() { return error; } public void setError(boolean error) { this.error = error; } public RuntimeException getException() { return exception; } public void setException(RuntimeException exception) { this.exception = exception; } public Map<String, String> getAttributes() { return attributes; } public void setAttribute(String key, String value) { attributes.put(key, value); } public String getAttribute(String key) { return attributes.get(key); } }