
001package org.hl7.fhir.r5.utils.xver; 002 003import org.hl7.fhir.exceptions.FHIRException; 004import org.hl7.fhir.r5.context.IWorkerContext; 005 006public class XVerExtensionManagerFactory { 007 008 // this arrangement is temporary while working up the new cross-version package 009 // system. We need to figure out a better way to inject the loader logic. 010 // 011 // On the context? 012 private static XVerExtensionManagerNew.IXverManagerPackageLoader loader; 013 014 public static XVerExtensionManagerNew.IXverManagerPackageLoader getLoader() { 015 return loader; 016 } 017 018 public static void setLoader(XVerExtensionManagerNew.IXverManagerPackageLoader loader) { 019 XVerExtensionManagerFactory.loader = loader; 020 } 021 022 public static XVerExtensionManager createExtensionManager(IWorkerContext context) throws FHIRException { 023 if (loader != null) { 024 return new XVerExtensionManagerNew(context, loader); 025 } else { 026 return new XVerExtensionManagerOld(context); 027 } 028 } 029}