
001package org.hl7.fhir.convertors.factory; 002 003import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor; 004import org.hl7.fhir.exceptions.FHIRException; 005import org.hl7.fhir.instance.model.api.IBaseDatatype; 006import org.hl7.fhir.instance.model.api.IBaseResource; 007 008public abstract class VersionConvertorFactory { 009 public static void cleanInputs(IBaseResource res, BaseAdvisor advisor) { 010 checkDataAndAdvisor(res, advisor); 011 } 012 013 public static void cleanInputs(IBaseDatatype res, BaseAdvisor advisor) { 014 checkDataAndAdvisor(res, advisor); 015 } 016 017 private static void checkDataAndAdvisor(Object o, BaseAdvisor advisor) { 018 if (advisor == null) { 019 throw new FHIRException("Null conversion advisor passed to factory method."); 020 } 021 if (advisor.failFastOnNullOrUnknownEntry() && o == null) { 022 throw new FHIRException("ConversionFactory received null input. Conversion advisor set to failFastOnNullInput."); 023 } 024 } 025}