
001package org.hl7.fhir.convertors.conv30_50.resources30_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_50; 004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; 006import org.hl7.fhir.exceptions.FHIRException; 007import org.hl7.fhir.r5.model.Enumeration; 008import org.hl7.fhir.r5.model.Linkage; 009 010public class Linkage30_50 { 011 012 public static org.hl7.fhir.r5.model.Linkage convertLinkage(org.hl7.fhir.dstu3.model.Linkage src) throws FHIRException { 013 if (src == null) 014 return null; 015 org.hl7.fhir.r5.model.Linkage tgt = new org.hl7.fhir.r5.model.Linkage(); 016 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 017 if (src.hasActive()) 018 tgt.setActiveElement(Boolean30_50.convertBoolean(src.getActiveElement())); 019 if (src.hasAuthor()) 020 tgt.setAuthor(Reference30_50.convertReference(src.getAuthor())); 021 for (org.hl7.fhir.dstu3.model.Linkage.LinkageItemComponent t : src.getItem()) 022 tgt.addItem(convertLinkageItemComponent(t)); 023 return tgt; 024 } 025 026 public static org.hl7.fhir.dstu3.model.Linkage convertLinkage(org.hl7.fhir.r5.model.Linkage src) throws FHIRException { 027 if (src == null) 028 return null; 029 org.hl7.fhir.dstu3.model.Linkage tgt = new org.hl7.fhir.dstu3.model.Linkage(); 030 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 031 if (src.hasActive()) 032 tgt.setActiveElement(Boolean30_50.convertBoolean(src.getActiveElement())); 033 if (src.hasAuthor()) 034 tgt.setAuthor(Reference30_50.convertReference(src.getAuthor())); 035 for (org.hl7.fhir.r5.model.Linkage.LinkageItemComponent t : src.getItem()) 036 tgt.addItem(convertLinkageItemComponent(t)); 037 return tgt; 038 } 039 040 public static org.hl7.fhir.dstu3.model.Linkage.LinkageItemComponent convertLinkageItemComponent(org.hl7.fhir.r5.model.Linkage.LinkageItemComponent src) throws FHIRException { 041 if (src == null) 042 return null; 043 org.hl7.fhir.dstu3.model.Linkage.LinkageItemComponent tgt = new org.hl7.fhir.dstu3.model.Linkage.LinkageItemComponent(); 044 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 045 if (src.hasType()) 046 tgt.setTypeElement(convertLinkageType(src.getTypeElement())); 047 if (src.hasResource()) 048 tgt.setResource(Reference30_50.convertReference(src.getResource())); 049 return tgt; 050 } 051 052 public static org.hl7.fhir.r5.model.Linkage.LinkageItemComponent convertLinkageItemComponent(org.hl7.fhir.dstu3.model.Linkage.LinkageItemComponent src) throws FHIRException { 053 if (src == null) 054 return null; 055 org.hl7.fhir.r5.model.Linkage.LinkageItemComponent tgt = new org.hl7.fhir.r5.model.Linkage.LinkageItemComponent(); 056 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 057 if (src.hasType()) 058 tgt.setTypeElement(convertLinkageType(src.getTypeElement())); 059 if (src.hasResource()) 060 tgt.setResource(Reference30_50.convertReference(src.getResource())); 061 return tgt; 062 } 063 064 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Linkage.LinkageType> convertLinkageType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Linkage.LinkageType> src) throws FHIRException { 065 if (src == null || src.isEmpty()) 066 return null; 067 Enumeration<Linkage.LinkageType> tgt = new Enumeration<>(new Linkage.LinkageTypeEnumFactory()); 068 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 069 if (src.getValue() == null) { 070 tgt.setValue(null); 071 } else { 072 switch (src.getValue()) { 073 case SOURCE: 074 tgt.setValue(Linkage.LinkageType.SOURCE); 075 break; 076 case ALTERNATE: 077 tgt.setValue(Linkage.LinkageType.ALTERNATE); 078 break; 079 case HISTORICAL: 080 tgt.setValue(Linkage.LinkageType.HISTORICAL); 081 break; 082 default: 083 tgt.setValue(Linkage.LinkageType.NULL); 084 break; 085 } 086 } 087 return tgt; 088 } 089 090 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Linkage.LinkageType> convertLinkageType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Linkage.LinkageType> src) throws FHIRException { 091 if (src == null || src.isEmpty()) 092 return null; 093 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Linkage.LinkageType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Linkage.LinkageTypeEnumFactory()); 094 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 095 if (src.getValue() == null) { 096 tgt.setValue(null); 097 } else { 098 switch (src.getValue()) { 099 case SOURCE: 100 tgt.setValue(org.hl7.fhir.dstu3.model.Linkage.LinkageType.SOURCE); 101 break; 102 case ALTERNATE: 103 tgt.setValue(org.hl7.fhir.dstu3.model.Linkage.LinkageType.ALTERNATE); 104 break; 105 case HISTORICAL: 106 tgt.setValue(org.hl7.fhir.dstu3.model.Linkage.LinkageType.HISTORICAL); 107 break; 108 default: 109 tgt.setValue(org.hl7.fhir.dstu3.model.Linkage.LinkageType.NULL); 110 break; 111 } 112 } 113 return tgt; 114 } 115}