package com.hubspot.jinjava.interpret; import java.util.Collections; import java.util.List; import com.google.common.collect.ImmutableList; public class RenderResult { private final String output; private final Context context; private final List<TemplateError> errors; public RenderResult(String output, Context context, List<TemplateError> errors) { this.output = output; this.context = context; this.errors = errors; } public RenderResult(TemplateError fromException, Context context, List<TemplateError> errors) { this.output = ""; this.context = context; this.errors = ImmutableList.<TemplateError> builder().add(fromException).addAll(errors).build(); } public RenderResult(String result) { this.output = result; this.context = null; this.errors = Collections.emptyList(); } public boolean hasErrors() { return !errors.isEmpty(); } public List<TemplateError> getErrors() { return errors; } public Context getContext() { return context; } public String getOutput() { return output; } public RenderResult withOutput(String newOutput) { return new RenderResult(newOutput, getContext(), getErrors()); } }