001package org.hl7.fhir.convertors.conv40_50.resources40_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext40_50; 004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; 005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; 006import org.hl7.fhir.exceptions.FHIRException; 007 008/* 009 Copyright (c) 2011+, HL7, Inc. 010 All rights reserved. 011 012 Redistribution and use in source and binary forms, with or without modification, 013 are permitted provided that the following conditions are met: 014 015 * Redistributions of source code must retain the above copyright notice, this 016 list of conditions and the following disclaimer. 017 * Redistributions in binary form must reproduce the above copyright notice, 018 this list of conditions and the following disclaimer in the documentation 019 and/or other materials provided with the distribution. 020 * Neither the name of HL7 nor the names of its contributors may be used to 021 endorse or promote products derived from this software without specific 022 prior written permission. 023 024 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 025 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 026 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 027 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 028 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 029 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 030 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 031 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 032 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 033 POSSIBILITY OF SUCH DAMAGE. 034 035*/ 036// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 037public class Linkage40_50 { 038 039 public static org.hl7.fhir.r5.model.Linkage convertLinkage(org.hl7.fhir.r4.model.Linkage src) throws FHIRException { 040 if (src == null) 041 return null; 042 org.hl7.fhir.r5.model.Linkage tgt = new org.hl7.fhir.r5.model.Linkage(); 043 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 044 if (src.hasActive()) 045 tgt.setActiveElement(Boolean40_50.convertBoolean(src.getActiveElement())); 046 if (src.hasAuthor()) 047 tgt.setAuthor(Reference40_50.convertReference(src.getAuthor())); 048 for (org.hl7.fhir.r4.model.Linkage.LinkageItemComponent t : src.getItem()) 049 tgt.addItem(convertLinkageItemComponent(t)); 050 return tgt; 051 } 052 053 public static org.hl7.fhir.r4.model.Linkage convertLinkage(org.hl7.fhir.r5.model.Linkage src) throws FHIRException { 054 if (src == null) 055 return null; 056 org.hl7.fhir.r4.model.Linkage tgt = new org.hl7.fhir.r4.model.Linkage(); 057 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); 058 if (src.hasActive()) 059 tgt.setActiveElement(Boolean40_50.convertBoolean(src.getActiveElement())); 060 if (src.hasAuthor()) 061 tgt.setAuthor(Reference40_50.convertReference(src.getAuthor())); 062 for (org.hl7.fhir.r5.model.Linkage.LinkageItemComponent t : src.getItem()) 063 tgt.addItem(convertLinkageItemComponent(t)); 064 return tgt; 065 } 066 067 public static org.hl7.fhir.r5.model.Linkage.LinkageItemComponent convertLinkageItemComponent(org.hl7.fhir.r4.model.Linkage.LinkageItemComponent src) throws FHIRException { 068 if (src == null) 069 return null; 070 org.hl7.fhir.r5.model.Linkage.LinkageItemComponent tgt = new org.hl7.fhir.r5.model.Linkage.LinkageItemComponent(); 071 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 072 if (src.hasType()) 073 tgt.setTypeElement(convertLinkageType(src.getTypeElement())); 074 if (src.hasResource()) 075 tgt.setResource(Reference40_50.convertReference(src.getResource())); 076 return tgt; 077 } 078 079 public static org.hl7.fhir.r4.model.Linkage.LinkageItemComponent convertLinkageItemComponent(org.hl7.fhir.r5.model.Linkage.LinkageItemComponent src) throws FHIRException { 080 if (src == null) 081 return null; 082 org.hl7.fhir.r4.model.Linkage.LinkageItemComponent tgt = new org.hl7.fhir.r4.model.Linkage.LinkageItemComponent(); 083 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); 084 if (src.hasType()) 085 tgt.setTypeElement(convertLinkageType(src.getTypeElement())); 086 if (src.hasResource()) 087 tgt.setResource(Reference40_50.convertReference(src.getResource())); 088 return tgt; 089 } 090 091 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Linkage.LinkageType> convertLinkageType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Linkage.LinkageType> src) throws FHIRException { 092 if (src == null || src.isEmpty()) 093 return null; 094 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Linkage.LinkageType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Linkage.LinkageTypeEnumFactory()); 095 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 096 switch (src.getValue()) { 097 case SOURCE: 098 tgt.setValue(org.hl7.fhir.r5.model.Linkage.LinkageType.SOURCE); 099 break; 100 case ALTERNATE: 101 tgt.setValue(org.hl7.fhir.r5.model.Linkage.LinkageType.ALTERNATE); 102 break; 103 case HISTORICAL: 104 tgt.setValue(org.hl7.fhir.r5.model.Linkage.LinkageType.HISTORICAL); 105 break; 106 default: 107 tgt.setValue(org.hl7.fhir.r5.model.Linkage.LinkageType.NULL); 108 break; 109 } 110 return tgt; 111 } 112 113 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Linkage.LinkageType> convertLinkageType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Linkage.LinkageType> src) throws FHIRException { 114 if (src == null || src.isEmpty()) 115 return null; 116 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Linkage.LinkageType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Linkage.LinkageTypeEnumFactory()); 117 ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); 118 switch (src.getValue()) { 119 case SOURCE: 120 tgt.setValue(org.hl7.fhir.r4.model.Linkage.LinkageType.SOURCE); 121 break; 122 case ALTERNATE: 123 tgt.setValue(org.hl7.fhir.r4.model.Linkage.LinkageType.ALTERNATE); 124 break; 125 case HISTORICAL: 126 tgt.setValue(org.hl7.fhir.r4.model.Linkage.LinkageType.HISTORICAL); 127 break; 128 default: 129 tgt.setValue(org.hl7.fhir.r4.model.Linkage.LinkageType.NULL); 130 break; 131 } 132 return tgt; 133 } 134}