
001package org.hl7.fhir.convertors.context; 002 003import org.hl7.fhir.convertors.loaders.loaderR5.ILoaderKnowledgeProviderR5; 004import org.hl7.fhir.convertors.loaders.loaderR5.R2016MayToR5Loader; 005import org.hl7.fhir.convertors.loaders.loaderR5.R2ToR5Loader; 006import org.hl7.fhir.convertors.loaders.loaderR5.R3ToR5Loader; 007import org.hl7.fhir.convertors.loaders.loaderR5.R4BToR5Loader; 008import org.hl7.fhir.convertors.loaders.loaderR5.R4ToR5Loader; 009import org.hl7.fhir.convertors.loaders.loaderR5.R5ToR5Loader; 010import org.hl7.fhir.convertors.loaders.loaderR5.R6ToR5Loader; 011import org.hl7.fhir.r5.context.IContextResourceLoader; 012import org.hl7.fhir.utilities.Utilities; 013import org.hl7.fhir.utilities.VersionUtilities; 014 015public class ContextResourceLoaderFactory { 016 017 public static IContextResourceLoader makeLoader(String version, ILoaderKnowledgeProviderR5 loader) { 018 if (VersionUtilities.isR2Ver(version)) { 019 return new R2ToR5Loader(Utilities.strings("Conformance", "StructureDefinition", "ValueSet", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader); 020 } 021 if (VersionUtilities.isR2BVer(version)) { 022 return new R2016MayToR5Loader(Utilities.strings("Conformance", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader); // special case 023 } 024 if (VersionUtilities.isR3Ver(version)) { 025 return new R3ToR5Loader(Utilities.strings("CapabilityStatement", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader); 026 } 027 if (VersionUtilities.isR4Ver(version)) { 028 return new R4ToR5Loader(Utilities.strings("CapabilityStatement", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader, version); 029 } 030 if (VersionUtilities.isR4BVer(version)) { 031 return new R4BToR5Loader(Utilities.strings("CapabilityStatement", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader, version); 032 } 033 if (VersionUtilities.isR6Ver(version)) { 034 return new R6ToR5Loader(Utilities.strings("CapabilityStatement", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader); 035 } 036 return new R5ToR5Loader(Utilities.strings("CapabilityStatement", "StructureDefinition", "ValueSet", "CodeSystem", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem"), loader); 037 } 038 039}