001package org.hl7.fhir.validation.cli.renderers; 002 003import java.io.IOException; 004import java.io.OutputStream; 005import java.io.PrintStream; 006 007import org.hl7.fhir.r5.model.Bundle; 008import org.hl7.fhir.r5.model.OperationOutcome; 009 010public abstract class ValidationOutputRenderer { 011 012 protected boolean crumbTrails; 013 protected boolean moreThanOne; 014 protected PrintStream dst; 015 016 public boolean isCrumbTrails() { 017 return crumbTrails; 018 } 019 020 public void setCrumbTrails(boolean crumbTrails) { 021 this.crumbTrails = crumbTrails; 022 } 023 024 public void start(boolean moreThanOne) { 025 this.moreThanOne = moreThanOne; 026 } 027 028 public abstract void render(OperationOutcome op) throws IOException; 029 030 public void render(Bundle bundle) throws IOException { 031 throw new Error("Should not call render*Bundle) when handlesBundleDirectly() == false"); 032 } 033 034 public void finish() { 035 } 036 037 public void setOutput(PrintStream dst) { 038 this.dst = dst; 039 } 040 041 public boolean handlesBundleDirectly() { 042 return false; 043 } 044}