
001package org.hl7.fhir.convertors.conv30_40.datatypes30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 005import org.hl7.fhir.exceptions.FHIRException; 006import org.hl7.fhir.r4.model.Contributor; 007 008public class Contributor30_40 { 009 public static org.hl7.fhir.r4.model.Contributor convertContributor(org.hl7.fhir.dstu3.model.Contributor src) throws FHIRException { 010 if (src == null) return null; 011 org.hl7.fhir.r4.model.Contributor tgt = new org.hl7.fhir.r4.model.Contributor(); 012 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 013 if (src.hasType()) tgt.setTypeElement(convertContributorType(src.getTypeElement())); 014 if (src.hasName()) tgt.setNameElement(String30_40.convertString(src.getNameElement())); 015 for (org.hl7.fhir.dstu3.model.ContactDetail t : src.getContact()) 016 tgt.addContact(ContactDetail30_40.convertContactDetail(t)); 017 return tgt; 018 } 019 020 public static org.hl7.fhir.dstu3.model.Contributor convertContributor(org.hl7.fhir.r4.model.Contributor src) throws FHIRException { 021 if (src == null) return null; 022 org.hl7.fhir.dstu3.model.Contributor tgt = new org.hl7.fhir.dstu3.model.Contributor(); 023 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 024 if (src.hasType()) tgt.setTypeElement(convertContributorType(src.getTypeElement())); 025 if (src.hasName()) tgt.setNameElement(String30_40.convertString(src.getNameElement())); 026 for (org.hl7.fhir.r4.model.ContactDetail t : src.getContact()) 027 tgt.addContact(ContactDetail30_40.convertContactDetail(t)); 028 return tgt; 029 } 030 031 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contributor.ContributorType> convertContributorType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Contributor.ContributorType> src) throws FHIRException { 032 if (src == null || src.isEmpty()) return null; 033 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contributor.ContributorType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Contributor.ContributorTypeEnumFactory()); 034 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 035 if (src.getValue() == null) { 036 tgt.setValue(null); 037} else { 038 switch(src.getValue()) { 039 case AUTHOR: 040 tgt.setValue(Contributor.ContributorType.AUTHOR); 041 break; 042 case EDITOR: 043 tgt.setValue(Contributor.ContributorType.EDITOR); 044 break; 045 case REVIEWER: 046 tgt.setValue(Contributor.ContributorType.REVIEWER); 047 break; 048 case ENDORSER: 049 tgt.setValue(Contributor.ContributorType.ENDORSER); 050 break; 051 default: 052 tgt.setValue(Contributor.ContributorType.NULL); 053 break; 054 } 055} 056 return tgt; 057 } 058 059 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Contributor.ContributorType> convertContributorType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Contributor.ContributorType> src) throws FHIRException { 060 if (src == null || src.isEmpty()) return null; 061 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Contributor.ContributorType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Contributor.ContributorTypeEnumFactory()); 062 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 063 if (src.getValue() == null) { 064 tgt.setValue(null); 065} else { 066 switch(src.getValue()) { 067 case AUTHOR: 068 tgt.setValue(org.hl7.fhir.dstu3.model.Contributor.ContributorType.AUTHOR); 069 break; 070 case EDITOR: 071 tgt.setValue(org.hl7.fhir.dstu3.model.Contributor.ContributorType.EDITOR); 072 break; 073 case REVIEWER: 074 tgt.setValue(org.hl7.fhir.dstu3.model.Contributor.ContributorType.REVIEWER); 075 break; 076 case ENDORSER: 077 tgt.setValue(org.hl7.fhir.dstu3.model.Contributor.ContributorType.ENDORSER); 078 break; 079 default: 080 tgt.setValue(org.hl7.fhir.dstu3.model.Contributor.ContributorType.NULL); 081 break; 082 } 083} 084 return tgt; 085 } 086}