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