001package org.hl7.fhir.convertors.conv10_50.datatypes10_50;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50;
004import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50;
005import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Age10_50;
006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Annotation10_50;
007import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50;
008import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50;
009import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50;
010import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50;
011import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Count10_50;
012import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Distance10_50;
013import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Duration10_50;
014import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50;
015import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50;
016import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Money10_50;
017import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50;
018import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Quantity10_50;
019import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Range10_50;
020import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Ratio10_50;
021import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SampledData10_50;
022import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Signature10_50;
023import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SimpleQuantity10_50;
024import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Timing10_50;
025import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Base64Binary10_50;
026import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50;
027import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50;
028import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Date10_50;
029import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50;
030import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50;
031import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50;
032import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Instant10_50;
033import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50;
034import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.MarkDown10_50;
035import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Oid10_50;
036import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.PositiveInt10_50;
037import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50;
038import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Time10_50;
039import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.UnsignedInt10_50;
040import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50;
041import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uuid10_50;
042import org.hl7.fhir.exceptions.FHIRException;
043
044public class Type10_50 {
045
046  private final BaseAdvisor_10_50 advisor;
047
048  public Type10_50(BaseAdvisor_10_50 advisor) {
049    this.advisor = advisor;
050  }
051
052  public org.hl7.fhir.r5.model.DataType convertType(org.hl7.fhir.dstu2.model.Type src) throws FHIRException {
053    if (src == null || src.isEmpty()) return null;
054    if (src instanceof org.hl7.fhir.dstu2.model.Base64BinaryType)
055      return Base64Binary10_50.convertBase64Binary((org.hl7.fhir.dstu2.model.Base64BinaryType) src);
056    if (src instanceof org.hl7.fhir.dstu2.model.BooleanType)
057      return Boolean10_50.convertBoolean((org.hl7.fhir.dstu2.model.BooleanType) src);
058    if (src instanceof org.hl7.fhir.dstu2.model.CodeType)
059      return Code10_50.convertCode((org.hl7.fhir.dstu2.model.CodeType) src);
060    if (src instanceof org.hl7.fhir.dstu2.model.DateType)
061      return Date10_50.convertDate((org.hl7.fhir.dstu2.model.DateType) src);
062    if (src instanceof org.hl7.fhir.dstu2.model.DateTimeType)
063      return DateTime10_50.convertDateTime((org.hl7.fhir.dstu2.model.DateTimeType) src);
064    if (src instanceof org.hl7.fhir.dstu2.model.DecimalType)
065      return Decimal10_50.convertDecimal((org.hl7.fhir.dstu2.model.DecimalType) src);
066    if (src instanceof org.hl7.fhir.dstu2.model.IdType) return Id10_50.convertId((org.hl7.fhir.dstu2.model.IdType) src);
067    if (src instanceof org.hl7.fhir.dstu2.model.InstantType)
068      return Instant10_50.convertInstant((org.hl7.fhir.dstu2.model.InstantType) src);
069    if (src instanceof org.hl7.fhir.dstu2.model.MarkdownType)
070      return MarkDown10_50.convertMarkdown((org.hl7.fhir.dstu2.model.MarkdownType) src);
071    if (src instanceof org.hl7.fhir.dstu2.model.OidType)
072      return Oid10_50.convertOid((org.hl7.fhir.dstu2.model.OidType) src);
073    if (src instanceof org.hl7.fhir.dstu2.model.PositiveIntType)
074      return PositiveInt10_50.convertPositiveInt((org.hl7.fhir.dstu2.model.PositiveIntType) src);
075    if (src instanceof org.hl7.fhir.dstu2.model.StringType)
076      return String10_50.convertString((org.hl7.fhir.dstu2.model.StringType) src);
077    if (src instanceof org.hl7.fhir.dstu2.model.TimeType)
078      return Time10_50.convertTime((org.hl7.fhir.dstu2.model.TimeType) src);
079    if (src instanceof org.hl7.fhir.dstu2.model.UnsignedIntType)
080      return UnsignedInt10_50.convertUnsignedInt((org.hl7.fhir.dstu2.model.UnsignedIntType) src);
081    if (src instanceof org.hl7.fhir.dstu2.model.IntegerType)
082      return Integer10_50.convertInteger((org.hl7.fhir.dstu2.model.IntegerType) src);
083    if (src instanceof org.hl7.fhir.dstu2.model.UuidType)
084      return Uuid10_50.convertUuid((org.hl7.fhir.dstu2.model.UuidType) src);
085    if (src instanceof org.hl7.fhir.dstu2.model.UriType)
086      return Uri10_50.convertUri((org.hl7.fhir.dstu2.model.UriType) src);
087    if (src instanceof org.hl7.fhir.dstu2.model.Extension)
088      return Extension10_50.convertExtension((org.hl7.fhir.dstu2.model.Extension) src);
089    if (src instanceof org.hl7.fhir.dstu2.model.Narrative)
090      return Narrative10_50.convertNarrative((org.hl7.fhir.dstu2.model.Narrative) src);
091    if (src instanceof org.hl7.fhir.dstu2.model.Annotation)
092      return Annotation10_50.convertAnnotation((org.hl7.fhir.dstu2.model.Annotation) src);
093    if (src instanceof org.hl7.fhir.dstu2.model.Attachment)
094      return Attachment10_50.convertAttachment((org.hl7.fhir.dstu2.model.Attachment) src);
095    if (src instanceof org.hl7.fhir.dstu2.model.CodeableConcept)
096      return CodeableConcept10_50.convertCodeableConcept((org.hl7.fhir.dstu2.model.CodeableConcept) src);
097    if (src instanceof org.hl7.fhir.dstu2.model.Coding)
098      return Coding10_50.convertCoding((org.hl7.fhir.dstu2.model.Coding) src);
099    if (src instanceof org.hl7.fhir.dstu2.model.Identifier)
100      return Identifier10_50.convertIdentifier((org.hl7.fhir.dstu2.model.Identifier) src);
101    if (src instanceof org.hl7.fhir.dstu2.model.Period)
102      return Period10_50.convertPeriod((org.hl7.fhir.dstu2.model.Period) src);
103    if (src instanceof org.hl7.fhir.dstu2.model.Quantity)
104      return Quantity10_50.convertQuantity((org.hl7.fhir.dstu2.model.Quantity) src);
105    if (src instanceof org.hl7.fhir.dstu2.model.Range)
106      return Range10_50.convertRange((org.hl7.fhir.dstu2.model.Range) src);
107    if (src instanceof org.hl7.fhir.dstu2.model.Ratio)
108      return Ratio10_50.convertRatio((org.hl7.fhir.dstu2.model.Ratio) src);
109    if (src instanceof org.hl7.fhir.dstu2.model.Reference)
110      return Reference10_50.convertReference((org.hl7.fhir.dstu2.model.Reference) src);
111    if (src instanceof org.hl7.fhir.dstu2.model.SampledData)
112      return SampledData10_50.convertSampledData((org.hl7.fhir.dstu2.model.SampledData) src);
113    if (src instanceof org.hl7.fhir.dstu2.model.Signature)
114      return Signature10_50.convertSignature((org.hl7.fhir.dstu2.model.Signature) src);
115    if (src instanceof org.hl7.fhir.dstu2.model.Address)
116      return Address10_50.convertAddress((org.hl7.fhir.dstu2.model.Address) src);
117    if (src instanceof org.hl7.fhir.dstu2.model.ContactPoint)
118      return ContactPoint10_50.convertContactPoint((org.hl7.fhir.dstu2.model.ContactPoint) src);
119    if (src instanceof org.hl7.fhir.dstu2.model.HumanName)
120      return HumanName10_50.convertHumanName((org.hl7.fhir.dstu2.model.HumanName) src);
121    if (src instanceof org.hl7.fhir.dstu2.model.Meta) return Meta10_50.convertMeta((org.hl7.fhir.dstu2.model.Meta) src);
122    if (src instanceof org.hl7.fhir.dstu2.model.Timing)
123      return Timing10_50.convertTiming((org.hl7.fhir.dstu2.model.Timing) src);
124    if (src instanceof org.hl7.fhir.dstu2.model.Age) return Age10_50.convertAge((org.hl7.fhir.dstu2.model.Age) src);
125    if (src instanceof org.hl7.fhir.dstu2.model.Count)
126      return Count10_50.convertCount((org.hl7.fhir.dstu2.model.Count) src);
127    if (src instanceof org.hl7.fhir.dstu2.model.Distance)
128      return Distance10_50.convertDistance((org.hl7.fhir.dstu2.model.Distance) src);
129    if (src instanceof org.hl7.fhir.dstu2.model.Duration)
130      return Duration10_50.convertDuration((org.hl7.fhir.dstu2.model.Duration) src);
131    if (src instanceof org.hl7.fhir.dstu2.model.Money)
132      return Money10_50.convertMoney((org.hl7.fhir.dstu2.model.Money) src);
133    if (src instanceof org.hl7.fhir.dstu2.model.SimpleQuantity)
134      return SimpleQuantity10_50.convertSimpleQuantity((org.hl7.fhir.dstu2.model.SimpleQuantity) src);
135    if (advisor.failFastOnNullOrUnknownEntry()) {
136      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R2 to R5");
137    } else {
138      return null;
139    }
140  }
141
142  public org.hl7.fhir.dstu2.model.Type convertType(org.hl7.fhir.r5.model.DataType src) throws FHIRException {
143    if (src == null || src.isEmpty()) return null;
144    if (src instanceof org.hl7.fhir.r5.model.Base64BinaryType)
145      return Base64Binary10_50.convertBase64Binary((org.hl7.fhir.r5.model.Base64BinaryType) src);
146    if (src instanceof org.hl7.fhir.r5.model.BooleanType)
147      return Boolean10_50.convertBoolean((org.hl7.fhir.r5.model.BooleanType) src);
148    if (src instanceof org.hl7.fhir.r5.model.CodeType)
149      return Code10_50.convertCode((org.hl7.fhir.r5.model.CodeType) src);
150    if (src instanceof org.hl7.fhir.r5.model.DateType)
151      return Date10_50.convertDate((org.hl7.fhir.r5.model.DateType) src);
152    if (src instanceof org.hl7.fhir.r5.model.DateTimeType)
153      return DateTime10_50.convertDateTime((org.hl7.fhir.r5.model.DateTimeType) src);
154    if (src instanceof org.hl7.fhir.r5.model.DecimalType)
155      return Decimal10_50.convertDecimal((org.hl7.fhir.r5.model.DecimalType) src);
156    if (src instanceof org.hl7.fhir.r5.model.IdType) return Id10_50.convertId((org.hl7.fhir.r5.model.IdType) src);
157    if (src instanceof org.hl7.fhir.r5.model.InstantType)
158      return Instant10_50.convertInstant((org.hl7.fhir.r5.model.InstantType) src);
159    if (src instanceof org.hl7.fhir.r5.model.MarkdownType)
160      return MarkDown10_50.convertMarkdown((org.hl7.fhir.r5.model.MarkdownType) src);
161    if (src instanceof org.hl7.fhir.r5.model.OidType) return Oid10_50.convertOid((org.hl7.fhir.r5.model.OidType) src);
162    if (src instanceof org.hl7.fhir.r5.model.PositiveIntType)
163      return PositiveInt10_50.convertPositiveInt((org.hl7.fhir.r5.model.PositiveIntType) src);
164    if (src instanceof org.hl7.fhir.r5.model.StringType)
165      return String10_50.convertString((org.hl7.fhir.r5.model.StringType) src);
166    if (src instanceof org.hl7.fhir.r5.model.TimeType)
167      return Time10_50.convertTime((org.hl7.fhir.r5.model.TimeType) src);
168    if (src instanceof org.hl7.fhir.r5.model.UnsignedIntType)
169      return UnsignedInt10_50.convertUnsignedInt((org.hl7.fhir.r5.model.UnsignedIntType) src);
170    if (src instanceof org.hl7.fhir.r5.model.IntegerType)
171      return Integer10_50.convertInteger((org.hl7.fhir.r5.model.IntegerType) src);
172    if (src instanceof org.hl7.fhir.r5.model.UuidType)
173      return Uuid10_50.convertUuid((org.hl7.fhir.r5.model.UuidType) src);
174    if (src instanceof org.hl7.fhir.r5.model.UriType) return Uri10_50.convertUri((org.hl7.fhir.r5.model.UriType) src);
175    if (src instanceof org.hl7.fhir.r5.model.Extension)
176      return Extension10_50.convertExtension((org.hl7.fhir.r5.model.Extension) src);
177    if (src instanceof org.hl7.fhir.r5.model.Narrative)
178      return Narrative10_50.convertNarrative((org.hl7.fhir.r5.model.Narrative) src);
179    if (src instanceof org.hl7.fhir.r5.model.Annotation)
180      return Annotation10_50.convertAnnotation((org.hl7.fhir.r5.model.Annotation) src);
181    if (src instanceof org.hl7.fhir.r5.model.Attachment)
182      return Attachment10_50.convertAttachment((org.hl7.fhir.r5.model.Attachment) src);
183    if (src instanceof org.hl7.fhir.r5.model.CodeableConcept)
184      return CodeableConcept10_50.convertCodeableConcept((org.hl7.fhir.r5.model.CodeableConcept) src);
185    if (src instanceof org.hl7.fhir.r5.model.Coding)
186      return Coding10_50.convertCoding((org.hl7.fhir.r5.model.Coding) src);
187    if (src instanceof org.hl7.fhir.r5.model.Identifier)
188      return Identifier10_50.convertIdentifier((org.hl7.fhir.r5.model.Identifier) src);
189    if (src instanceof org.hl7.fhir.r5.model.Period)
190      return Period10_50.convertPeriod((org.hl7.fhir.r5.model.Period) src);
191    if (src instanceof org.hl7.fhir.r5.model.Quantity)
192      return Quantity10_50.convertQuantity((org.hl7.fhir.r5.model.Quantity) src);
193    if (src instanceof org.hl7.fhir.r5.model.Range) return Range10_50.convertRange((org.hl7.fhir.r5.model.Range) src);
194    if (src instanceof org.hl7.fhir.r5.model.Ratio) return Ratio10_50.convertRatio((org.hl7.fhir.r5.model.Ratio) src);
195    if (src instanceof org.hl7.fhir.r5.model.Reference)
196      return Reference10_50.convertReference((org.hl7.fhir.r5.model.Reference) src);
197    if (src instanceof org.hl7.fhir.r5.model.SampledData)
198      return SampledData10_50.convertSampledData((org.hl7.fhir.r5.model.SampledData) src);
199    if (src instanceof org.hl7.fhir.r5.model.Signature)
200      return Signature10_50.convertSignature((org.hl7.fhir.r5.model.Signature) src);
201    if (src instanceof org.hl7.fhir.r5.model.Address)
202      return Address10_50.convertAddress((org.hl7.fhir.r5.model.Address) src);
203    if (src instanceof org.hl7.fhir.r5.model.ContactPoint)
204      return ContactPoint10_50.convertContactPoint((org.hl7.fhir.r5.model.ContactPoint) src);
205    if (src instanceof org.hl7.fhir.r5.model.HumanName)
206      return HumanName10_50.convertHumanName((org.hl7.fhir.r5.model.HumanName) src);
207    if (src instanceof org.hl7.fhir.r5.model.Meta) return Meta10_50.convertMeta((org.hl7.fhir.r5.model.Meta) src);
208    if (src instanceof org.hl7.fhir.r5.model.Timing)
209      return Timing10_50.convertTiming((org.hl7.fhir.r5.model.Timing) src);
210    if (src instanceof org.hl7.fhir.r5.model.Age) return Age10_50.convertAge((org.hl7.fhir.r5.model.Age) src);
211    if (src instanceof org.hl7.fhir.r5.model.Count) return Count10_50.convertCount((org.hl7.fhir.r5.model.Count) src);
212    if (src instanceof org.hl7.fhir.r5.model.Distance)
213      return Distance10_50.convertDistance((org.hl7.fhir.r5.model.Distance) src);
214    if (src instanceof org.hl7.fhir.r5.model.Duration)
215      return Duration10_50.convertDuration((org.hl7.fhir.r5.model.Duration) src);
216    if (src instanceof org.hl7.fhir.r5.model.Money) return Money10_50.convertMoney((org.hl7.fhir.r5.model.Money) src);
217    if (src instanceof org.hl7.fhir.r5.model.SimpleQuantity)
218      return SimpleQuantity10_50.convertSimpleQuantity((org.hl7.fhir.r5.model.SimpleQuantity) src);
219    if (advisor.failFastOnNullOrUnknownEntry()) {
220      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R5 to R2");
221    } else {
222      return null;
223    }
224  }
225}