001package org.hl7.fhir.convertors.conv14_40.datatypes14_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext14_40; 004import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; 005import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; 006import org.hl7.fhir.dstu2016may.model.Reference; 007import org.hl7.fhir.exceptions.FHIRException; 008import org.hl7.fhir.r4.model.CanonicalType; 009 010public class Extension14_40 { 011 public static org.hl7.fhir.r4.model.Extension convertExtension(org.hl7.fhir.dstu2016may.model.Extension src) throws FHIRException { 012 if (src == null || src.isEmpty()) return null; 013 org.hl7.fhir.r4.model.Extension tgt = new org.hl7.fhir.r4.model.Extension(); 014 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 015 if (src.hasUrlElement()) tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement())); 016 if (src.hasValue()) 017 if (VersionConvertor_14_40.CANONICAL_URLS.contains(src.getUrl()) && src.getValue() instanceof org.hl7.fhir.dstu2016may.model.Reference) 018 tgt.setValue(Reference14_40.convertReferenceToCanonical((Reference) src.getValue())); 019 else tgt.setValue(ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().convertType(src.getValue())); 020 return tgt; 021 } 022 023 public static org.hl7.fhir.dstu2016may.model.Extension convertExtension(org.hl7.fhir.r4.model.Extension src) throws FHIRException { 024 if (src == null || src.isEmpty()) return null; 025 org.hl7.fhir.dstu2016may.model.Extension tgt = new org.hl7.fhir.dstu2016may.model.Extension(); 026 ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().copyElement(src, tgt); 027 if (src.hasUrlElement()) tgt.setUrlElement(Uri14_40.convertUri(src.getUrlElement())); 028 if (src.hasValue()) 029 if (VersionConvertor_14_40.CANONICAL_URLS.contains(src.getUrl()) && src.getValue() instanceof org.hl7.fhir.r4.model.CanonicalType) 030 tgt.setValue(Reference14_40.convertCanonicalToReference((CanonicalType) src.getValue())); 031 else tgt.setValue(ConversionContext14_40.INSTANCE.getVersionConvertor_14_40().convertType(src.getValue())); 032 return tgt; 033 } 034 035 static public boolean isExemptExtension(String url, String[] extensionsToIgnore) { 036 boolean ok = false; 037 for (String s : extensionsToIgnore) if (s.equals(url)) ok = true; 038 return ok; 039 } 040}