001package org.hl7.fhir.convertors.conv10_40.datatypes10_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_40; 004import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; 005import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Canonical10_40; 006import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; 007import org.hl7.fhir.dstu2.model.Reference; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r4.model.CanonicalType; 010 011public class Extension10_40 { 012 public static org.hl7.fhir.r4.model.Extension convertExtension(org.hl7.fhir.dstu2.model.Extension src) throws FHIRException { 013 if (src == null || src.isEmpty()) return null; 014 org.hl7.fhir.r4.model.Extension tgt = new org.hl7.fhir.r4.model.Extension(); 015 ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt); 016 if (src.hasUrlElement()) tgt.setUrlElement(Uri10_40.convertUri(src.getUrlElement())); 017 if (src.hasValue()) 018 if (VersionConvertor_10_40.CANONICAL_URLS.contains(src.getUrl()) && src.getValue() instanceof org.hl7.fhir.dstu2.model.Reference) 019 tgt.setValue(Canonical10_40.convertReferenceToCanonical((Reference) src.getValue())); 020 else tgt.setValue(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getValue())); 021 return tgt; 022 } 023 024 public static org.hl7.fhir.dstu2.model.Extension convertExtension(org.hl7.fhir.r4.model.Extension src) throws FHIRException { 025 if (src == null || src.isEmpty()) return null; 026 org.hl7.fhir.dstu2.model.Extension tgt = new org.hl7.fhir.dstu2.model.Extension(); 027 ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().copyElement(src, tgt); 028 if (src.hasUrlElement()) tgt.setUrlElement(Uri10_40.convertUri(src.getUrlElement())); 029 if (src.hasValue()) 030 if (VersionConvertor_10_40.CANONICAL_URLS.contains(src.getUrl()) && src.getValue() instanceof org.hl7.fhir.r4.model.CanonicalType) 031 tgt.setValue(Canonical10_40.convertCanonicalToReference((CanonicalType) src.getValue())); 032 else if (src.hasValue()) 033 tgt.setValue(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getValue())); 034 if (src.hasValue()) 035 tgt.setValue(ConversionContext10_40.INSTANCE.getVersionConvertor_10_40().convertType(src.getValue())); 036 return tgt; 037 } 038}