
001package org.hl7.fhir.convertors.conv30_50.datatypes30_50; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_50; 004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; 007import org.hl7.fhir.dstu3.model.ParameterDefinition; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r5.model.Enumerations; 010 011public class ParameterDefinition30_50 { 012 public static org.hl7.fhir.r5.model.ParameterDefinition convertParameterDefinition(org.hl7.fhir.dstu3.model.ParameterDefinition src) throws FHIRException { 013 if (src == null) return null; 014 org.hl7.fhir.r5.model.ParameterDefinition tgt = new org.hl7.fhir.r5.model.ParameterDefinition(); 015 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 016 if (src.hasName()) tgt.setNameElement(Code30_50.convertCode(src.getNameElement())); 017 if (src.hasUse()) tgt.setUseElement(convertParameterUse(src.getUseElement())); 018 if (src.hasMin()) tgt.setMinElement(Integer30_50.convertInteger(src.getMinElement())); 019 if (src.hasMax()) tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); 020 if (src.hasDocumentation()) tgt.setDocumentationElement(String30_50.convertString(src.getDocumentationElement())); 021 if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType())); 022 if (src.hasProfile()) { 023 tgt.setProfile(Reference30_50.convertReference(src.getProfile()).getReference()); 024 } 025 return tgt; 026 } 027 028 public static org.hl7.fhir.dstu3.model.ParameterDefinition convertParameterDefinition(org.hl7.fhir.r5.model.ParameterDefinition src) throws FHIRException { 029 if (src == null) return null; 030 org.hl7.fhir.dstu3.model.ParameterDefinition tgt = new org.hl7.fhir.dstu3.model.ParameterDefinition(); 031 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 032 if (src.hasName()) tgt.setNameElement(Code30_50.convertCode(src.getNameElement())); 033 if (src.hasUse()) tgt.setUseElement(convertParameterUse(src.getUseElement())); 034 if (src.hasMin()) tgt.setMinElement(Integer30_50.convertInteger(src.getMinElement())); 035 if (src.hasMax()) tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); 036 if (src.hasDocumentation()) tgt.setDocumentationElement(String30_50.convertString(src.getDocumentationElement())); 037 if (src.hasType()) tgt.setType(src.getType().toCode()); 038 if (src.hasProfile()) tgt.setProfile(new org.hl7.fhir.dstu3.model.Reference(src.getProfile())); 039 return tgt; 040 } 041 042 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> convertParameterUse(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ParameterDefinition.ParameterUse> src) throws FHIRException { 043 if (src == null || src.isEmpty()) return null; 044 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.OperationParameterUseEnumFactory()); 045 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 046 if (src.getValue() == null) { 047 tgt.setValue(null); 048} else { 049 switch(src.getValue()) { 050 case IN: 051 tgt.setValue(Enumerations.OperationParameterUse.IN); 052 break; 053 case OUT: 054 tgt.setValue(Enumerations.OperationParameterUse.OUT); 055 break; 056 default: 057 tgt.setValue(Enumerations.OperationParameterUse.NULL); 058 break; 059 } 060} 061 return tgt; 062 } 063 064 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ParameterDefinition.ParameterUse> convertParameterUse(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Enumerations.OperationParameterUse> src) throws FHIRException { 065 if (src == null || src.isEmpty()) return null; 066 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ParameterDefinition.ParameterUse> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ParameterDefinition.ParameterUseEnumFactory()); 067 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 068 if (src.getValue() == null) { 069 tgt.setValue(null); 070} else { 071 switch(src.getValue()) { 072 case IN: 073 tgt.setValue(ParameterDefinition.ParameterUse.IN); 074 break; 075 case OUT: 076 tgt.setValue(ParameterDefinition.ParameterUse.OUT); 077 break; 078 default: 079 tgt.setValue(ParameterDefinition.ParameterUse.NULL); 080 break; 081 } 082} 083 return tgt; 084 } 085}