001package org.hl7.fhir.convertors.conv40_50.datatypes40_50;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_40_50;
004import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*;
005import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.*;
006import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*;
007import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.*;
008import org.hl7.fhir.convertors.conv40_50.resources40_50.*;
009import org.hl7.fhir.exceptions.FHIRException;
010
011public class Type40_50 {
012
013  private final BaseAdvisor_40_50 advisor;
014
015  public Type40_50(BaseAdvisor_40_50 advisor) {
016    this.advisor = advisor;
017  }
018
019  public org.hl7.fhir.r5.model.DataType convertType(org.hl7.fhir.r4.model.Type src) throws FHIRException {
020    if (src == null) return null;
021    if (src instanceof org.hl7.fhir.r4.model.Base64BinaryType)
022      return Base64Binary40_50.convertBase64Binary((org.hl7.fhir.r4.model.Base64BinaryType) src);
023    if (src instanceof org.hl7.fhir.r4.model.BooleanType)
024      return Boolean40_50.convertBoolean((org.hl7.fhir.r4.model.BooleanType) src);
025    if (src instanceof org.hl7.fhir.r4.model.CanonicalType)
026      return Canonical40_50.convertCanonical((org.hl7.fhir.r4.model.CanonicalType) src);
027    if (src instanceof org.hl7.fhir.r4.model.CodeType)
028      return Code40_50.convertCode((org.hl7.fhir.r4.model.CodeType) src);
029    if (src instanceof org.hl7.fhir.r4.model.DateType)
030      return Date40_50.convertDate((org.hl7.fhir.r4.model.DateType) src);
031    if (src instanceof org.hl7.fhir.r4.model.DateTimeType)
032      return DateTime40_50.convertDateTime((org.hl7.fhir.r4.model.DateTimeType) src);
033    if (src instanceof org.hl7.fhir.r4.model.DecimalType)
034      return Decimal40_50.convertDecimal((org.hl7.fhir.r4.model.DecimalType) src);
035    if (src instanceof org.hl7.fhir.r4.model.IdType) return Id40_50.convertId((org.hl7.fhir.r4.model.IdType) src);
036    if (src instanceof org.hl7.fhir.r4.model.InstantType)
037      return Instant40_50.convertInstant((org.hl7.fhir.r4.model.InstantType) src);
038    if (src instanceof org.hl7.fhir.r4.model.UnsignedIntType)
039      return UnsignedInt40_50.convertUnsignedInt((org.hl7.fhir.r4.model.UnsignedIntType) src);
040    if (src instanceof org.hl7.fhir.r4.model.PositiveIntType)
041      return PositiveInt40_50.convertPositiveInt((org.hl7.fhir.r4.model.PositiveIntType) src);
042    if (src instanceof org.hl7.fhir.r4.model.IntegerType)
043      return Integer40_50.convertInteger((org.hl7.fhir.r4.model.IntegerType) src);
044    if (src instanceof org.hl7.fhir.r4.model.MarkdownType)
045      return MarkDown40_50.convertMarkdown((org.hl7.fhir.r4.model.MarkdownType) src);
046    if (src instanceof org.hl7.fhir.r4.model.OidType) return Oid40_50.convertOid((org.hl7.fhir.r4.model.OidType) src);
047    if (src instanceof org.hl7.fhir.r4.model.StringType)
048      return String40_50.convertString((org.hl7.fhir.r4.model.StringType) src);
049    if (src instanceof org.hl7.fhir.r4.model.TimeType)
050      return Time40_50.convertTime((org.hl7.fhir.r4.model.TimeType) src);
051    if (src instanceof org.hl7.fhir.r4.model.UrlType) return Url40_50.convertUrl((org.hl7.fhir.r4.model.UrlType) src);
052    if (src instanceof org.hl7.fhir.r4.model.UuidType)
053      return Uuid40_50.convertUuid((org.hl7.fhir.r4.model.UuidType) src);
054    if (src instanceof org.hl7.fhir.r4.model.UriType) return Uri40_50.convertUri((org.hl7.fhir.r4.model.UriType) src);
055    if (src instanceof org.hl7.fhir.r4.model.Extension)
056      return Extension40_50.convertExtension((org.hl7.fhir.r4.model.Extension) src);
057    if (src instanceof org.hl7.fhir.r4.model.Narrative)
058      return Narrative40_50.convertNarrative((org.hl7.fhir.r4.model.Narrative) src);
059    if (src instanceof org.hl7.fhir.r4.model.Address)
060      return Address40_50.convertAddress((org.hl7.fhir.r4.model.Address) src);
061    if (src instanceof org.hl7.fhir.r4.model.Age) return Age40_50.convertAge((org.hl7.fhir.r4.model.Age) src);
062    if (src instanceof org.hl7.fhir.r4.model.Annotation)
063      return Annotation40_50.convertAnnotation((org.hl7.fhir.r4.model.Annotation) src);
064    if (src instanceof org.hl7.fhir.r4.model.Attachment)
065      return Attachment40_50.convertAttachment((org.hl7.fhir.r4.model.Attachment) src);
066    if (src instanceof org.hl7.fhir.r4.model.CodeableConcept)
067      return CodeableConcept40_50.convertCodeableConcept((org.hl7.fhir.r4.model.CodeableConcept) src);
068    if (src instanceof org.hl7.fhir.r4.model.Coding)
069      return Coding40_50.convertCoding((org.hl7.fhir.r4.model.Coding) src);
070    if (src instanceof org.hl7.fhir.r4.model.ContactDetail)
071      return ContactDetail40_50.convertContactDetail((org.hl7.fhir.r4.model.ContactDetail) src);
072    if (src instanceof org.hl7.fhir.r4.model.ContactPoint)
073      return ContactPoint40_50.convertContactPoint((org.hl7.fhir.r4.model.ContactPoint) src);
074    if (src instanceof org.hl7.fhir.r4.model.Contributor)
075      return Contributor40_50.convertContributor((org.hl7.fhir.r4.model.Contributor) src);
076    if (src instanceof org.hl7.fhir.r4.model.Count) return Count40_50.convertCount((org.hl7.fhir.r4.model.Count) src);
077    if (src instanceof org.hl7.fhir.r4.model.DataRequirement)
078      return DataRequirement40_50.convertDataRequirement((org.hl7.fhir.r4.model.DataRequirement) src);
079    if (src instanceof org.hl7.fhir.r4.model.Distance)
080      return Distance40_50.convertDistance((org.hl7.fhir.r4.model.Distance) src);
081    if (src instanceof org.hl7.fhir.r4.model.Dosage)
082      return Dosage40_50.convertDosage((org.hl7.fhir.r4.model.Dosage) src);
083    if (src instanceof org.hl7.fhir.r4.model.Duration)
084      return Duration40_50.convertDuration((org.hl7.fhir.r4.model.Duration) src);
085    if (src instanceof org.hl7.fhir.r4.model.Expression)
086      return Expression40_50.convertExpression((org.hl7.fhir.r4.model.Expression) src);
087    if (src instanceof org.hl7.fhir.r4.model.HumanName)
088      return HumanName40_50.convertHumanName((org.hl7.fhir.r4.model.HumanName) src);
089    if (src instanceof org.hl7.fhir.r4.model.Identifier)
090      return Identifier40_50.convertIdentifier((org.hl7.fhir.r4.model.Identifier) src);
091    if (src instanceof org.hl7.fhir.r4.model.MarketingStatus)
092      return MarketingStatus40_50.convertMarketingStatus((org.hl7.fhir.r4.model.MarketingStatus) src);
093    if (src instanceof org.hl7.fhir.r4.model.Meta) return Meta40_50.convertMeta((org.hl7.fhir.r4.model.Meta) src);
094    if (src instanceof org.hl7.fhir.r4.model.Money) return Money40_50.convertMoney((org.hl7.fhir.r4.model.Money) src);
095    if (src instanceof org.hl7.fhir.r4.model.ParameterDefinition)
096      return ParameterDefinition40_50.convertParameterDefinition((org.hl7.fhir.r4.model.ParameterDefinition) src);
097    if (src instanceof org.hl7.fhir.r4.model.Period)
098      return Period40_50.convertPeriod((org.hl7.fhir.r4.model.Period) src);
099    if (src instanceof org.hl7.fhir.r4.model.Population)
100      return Population40_50.convertPopulation((org.hl7.fhir.r4.model.Population) src);
101    if (src instanceof org.hl7.fhir.r4.model.ProdCharacteristic)
102      return ProdCharacteristic40_50.convertProdCharacteristic((org.hl7.fhir.r4.model.ProdCharacteristic) src);
103    if (src instanceof org.hl7.fhir.r4.model.ProductShelfLife)
104      return ProductShelfLife40_50.convertProductShelfLife((org.hl7.fhir.r4.model.ProductShelfLife) src);
105    if (src instanceof org.hl7.fhir.r4.model.MoneyQuantity)
106      return MoneyQuantity40_50.convertMoneyQuantity((org.hl7.fhir.r4.model.MoneyQuantity) src);
107    if (src instanceof org.hl7.fhir.r4.model.SimpleQuantity)
108      return SimpleQuantity40_50.convertSimpleQuantity((org.hl7.fhir.r4.model.SimpleQuantity) src);
109    if (src instanceof org.hl7.fhir.r4.model.Quantity)
110      return Quantity40_50.convertQuantity((org.hl7.fhir.r4.model.Quantity) src);
111    if (src instanceof org.hl7.fhir.r4.model.Range) return Range40_50.convertRange((org.hl7.fhir.r4.model.Range) src);
112    if (src instanceof org.hl7.fhir.r4.model.Ratio) return Ratio40_50.convertRatio((org.hl7.fhir.r4.model.Ratio) src);
113    if (src instanceof org.hl7.fhir.r4.model.Reference)
114      return Reference40_50.convertReference((org.hl7.fhir.r4.model.Reference) src);
115    if (src instanceof org.hl7.fhir.r4.model.RelatedArtifact)
116      return RelatedArtifact40_50.convertRelatedArtifact((org.hl7.fhir.r4.model.RelatedArtifact) src);
117    if (src instanceof org.hl7.fhir.r4.model.SampledData)
118      return SampledData40_50.convertSampledData((org.hl7.fhir.r4.model.SampledData) src);
119    if (src instanceof org.hl7.fhir.r4.model.Signature)
120      return Signature40_50.convertSignature((org.hl7.fhir.r4.model.Signature) src);
121    if (src instanceof org.hl7.fhir.r4.model.SubstanceAmount)
122      return SubstanceAmount40_50.convertSubstanceAmount((org.hl7.fhir.r4.model.SubstanceAmount) src);
123    if (src instanceof org.hl7.fhir.r4.model.Timing)
124      return Timing40_50.convertTiming((org.hl7.fhir.r4.model.Timing) src);
125    if (src instanceof org.hl7.fhir.r4.model.TriggerDefinition)
126      return TriggerDefinition40_50.convertTriggerDefinition((org.hl7.fhir.r4.model.TriggerDefinition) src);
127    if (src instanceof org.hl7.fhir.r4.model.UsageContext)
128      return UsageContext40_50.convertUsageContext((org.hl7.fhir.r4.model.UsageContext) src);
129    if (src instanceof org.hl7.fhir.r4.model.ElementDefinition)
130      return ElementDefinition40_50.convertElementDefinition((org.hl7.fhir.r4.model.ElementDefinition) src);
131    if (advisor.failFastOnNullOrUnknownEntry()) {
132      throw new FHIRException("Unknown type " + src.fhirType());
133    } else {
134      return null;
135    }
136  }
137
138  public org.hl7.fhir.r4.model.Type convertType(org.hl7.fhir.r5.model.DataType src) throws FHIRException {
139    if (src == null) return null;
140    if (src instanceof org.hl7.fhir.r5.model.Base64BinaryType)
141      return Base64Binary40_50.convertBase64Binary((org.hl7.fhir.r5.model.Base64BinaryType) src);
142    if (src instanceof org.hl7.fhir.r5.model.BooleanType)
143      return Boolean40_50.convertBoolean((org.hl7.fhir.r5.model.BooleanType) src);
144    if (src instanceof org.hl7.fhir.r5.model.CanonicalType)
145      return Canonical40_50.convertCanonical((org.hl7.fhir.r5.model.CanonicalType) src);
146    if (src instanceof org.hl7.fhir.r5.model.CodeType)
147      return Code40_50.convertCode((org.hl7.fhir.r5.model.CodeType) src);
148    if (src instanceof org.hl7.fhir.r5.model.DateType)
149      return Date40_50.convertDate((org.hl7.fhir.r5.model.DateType) src);
150    if (src instanceof org.hl7.fhir.r5.model.DateTimeType)
151      return DateTime40_50.convertDateTime((org.hl7.fhir.r5.model.DateTimeType) src);
152    if (src instanceof org.hl7.fhir.r5.model.DecimalType)
153      return Decimal40_50.convertDecimal((org.hl7.fhir.r5.model.DecimalType) src);
154    if (src instanceof org.hl7.fhir.r5.model.IdType) return Id40_50.convertId((org.hl7.fhir.r5.model.IdType) src);
155    if (src instanceof org.hl7.fhir.r5.model.InstantType)
156      return Instant40_50.convertInstant((org.hl7.fhir.r5.model.InstantType) src);
157    if (src instanceof org.hl7.fhir.r5.model.MarkdownType)
158      return MarkDown40_50.convertMarkdown((org.hl7.fhir.r5.model.MarkdownType) src);
159    if (src instanceof org.hl7.fhir.r5.model.OidType) return Oid40_50.convertOid((org.hl7.fhir.r5.model.OidType) src);
160    if (src instanceof org.hl7.fhir.r5.model.PositiveIntType)
161      return PositiveInt40_50.convertPositiveInt((org.hl7.fhir.r5.model.PositiveIntType) src);
162    if (src instanceof org.hl7.fhir.r5.model.StringType)
163      return String40_50.convertString((org.hl7.fhir.r5.model.StringType) src);
164    if (src instanceof org.hl7.fhir.r5.model.TimeType)
165      return Time40_50.convertTime((org.hl7.fhir.r5.model.TimeType) src);
166    if (src instanceof org.hl7.fhir.r5.model.UnsignedIntType)
167      return UnsignedInt40_50.convertUnsignedInt((org.hl7.fhir.r5.model.UnsignedIntType) src);
168    if (src instanceof org.hl7.fhir.r5.model.IntegerType)
169      return Integer40_50.convertInteger((org.hl7.fhir.r5.model.IntegerType) src);
170    if (src instanceof org.hl7.fhir.r5.model.UrlType) return Url40_50.convertUrl((org.hl7.fhir.r5.model.UrlType) src);
171    if (src instanceof org.hl7.fhir.r5.model.UuidType)
172      return Uuid40_50.convertUuid((org.hl7.fhir.r5.model.UuidType) src);
173    if (src instanceof org.hl7.fhir.r5.model.UriType) return Uri40_50.convertUri((org.hl7.fhir.r5.model.UriType) src);
174    if (src instanceof org.hl7.fhir.r5.model.Extension)
175      return Extension40_50.convertExtension((org.hl7.fhir.r5.model.Extension) src);
176    if (src instanceof org.hl7.fhir.r5.model.Narrative)
177      return Narrative40_50.convertNarrative((org.hl7.fhir.r5.model.Narrative) src);
178    if (src instanceof org.hl7.fhir.r5.model.Address)
179      return Address40_50.convertAddress((org.hl7.fhir.r5.model.Address) src);
180    if (src instanceof org.hl7.fhir.r5.model.Age) return Age40_50.convertAge((org.hl7.fhir.r5.model.Age) src);
181    if (src instanceof org.hl7.fhir.r5.model.Annotation)
182      return Annotation40_50.convertAnnotation((org.hl7.fhir.r5.model.Annotation) src);
183    if (src instanceof org.hl7.fhir.r5.model.Attachment)
184      return Attachment40_50.convertAttachment((org.hl7.fhir.r5.model.Attachment) src);
185    if (src instanceof org.hl7.fhir.r5.model.CodeableConcept)
186      return CodeableConcept40_50.convertCodeableConcept((org.hl7.fhir.r5.model.CodeableConcept) src);
187    if (src instanceof org.hl7.fhir.r5.model.Coding)
188      return Coding40_50.convertCoding((org.hl7.fhir.r5.model.Coding) src);
189    if (src instanceof org.hl7.fhir.r5.model.ContactDetail)
190      return ContactDetail40_50.convertContactDetail((org.hl7.fhir.r5.model.ContactDetail) src);
191    if (src instanceof org.hl7.fhir.r5.model.ContactPoint)
192      return ContactPoint40_50.convertContactPoint((org.hl7.fhir.r5.model.ContactPoint) src);
193    if (src instanceof org.hl7.fhir.r5.model.Contributor)
194      return Contributor40_50.convertContributor((org.hl7.fhir.r5.model.Contributor) src);
195    if (src instanceof org.hl7.fhir.r5.model.Count) return Count40_50.convertCount((org.hl7.fhir.r5.model.Count) src);
196    if (src instanceof org.hl7.fhir.r5.model.DataRequirement)
197      return DataRequirement40_50.convertDataRequirement((org.hl7.fhir.r5.model.DataRequirement) src);
198    if (src instanceof org.hl7.fhir.r5.model.Distance)
199      return Distance40_50.convertDistance((org.hl7.fhir.r5.model.Distance) src);
200    if (src instanceof org.hl7.fhir.r5.model.Dosage)
201      return Dosage40_50.convertDosage((org.hl7.fhir.r5.model.Dosage) src);
202    if (src instanceof org.hl7.fhir.r5.model.Duration)
203      return Duration40_50.convertDuration((org.hl7.fhir.r5.model.Duration) src);
204    if (src instanceof org.hl7.fhir.r5.model.Expression)
205      return Expression40_50.convertExpression((org.hl7.fhir.r5.model.Expression) src);
206    if (src instanceof org.hl7.fhir.r5.model.HumanName)
207      return HumanName40_50.convertHumanName((org.hl7.fhir.r5.model.HumanName) src);
208    if (src instanceof org.hl7.fhir.r5.model.Identifier)
209      return Identifier40_50.convertIdentifier((org.hl7.fhir.r5.model.Identifier) src);
210    if (src instanceof org.hl7.fhir.r5.model.MarketingStatus)
211      return MarketingStatus40_50.convertMarketingStatus((org.hl7.fhir.r5.model.MarketingStatus) src);
212    if (src instanceof org.hl7.fhir.r5.model.Meta) return Meta40_50.convertMeta((org.hl7.fhir.r5.model.Meta) src);
213    if (src instanceof org.hl7.fhir.r5.model.Money) return Money40_50.convertMoney((org.hl7.fhir.r5.model.Money) src);
214    if (src instanceof org.hl7.fhir.r5.model.ParameterDefinition)
215      return ParameterDefinition40_50.convertParameterDefinition((org.hl7.fhir.r5.model.ParameterDefinition) src);
216    if (src instanceof org.hl7.fhir.r5.model.Period)
217      return Period40_50.convertPeriod((org.hl7.fhir.r5.model.Period) src);
218    if (src instanceof org.hl7.fhir.r5.model.Population)
219      return Population40_50.convertPopulation((org.hl7.fhir.r5.model.Population) src);
220    if (src instanceof org.hl7.fhir.r5.model.ProdCharacteristic)
221      return ProdCharacteristic40_50.convertProdCharacteristic((org.hl7.fhir.r5.model.ProdCharacteristic) src);
222    if (src instanceof org.hl7.fhir.r5.model.ProductShelfLife)
223      return ProductShelfLife40_50.convertProductShelfLife((org.hl7.fhir.r5.model.ProductShelfLife) src);
224    if (src instanceof org.hl7.fhir.r5.model.MoneyQuantity)
225      return MoneyQuantity40_50.convertMoneyQuantity((org.hl7.fhir.r5.model.MoneyQuantity) src);
226    if (src instanceof org.hl7.fhir.r5.model.SimpleQuantity)
227      return SimpleQuantity40_50.convertSimpleQuantity((org.hl7.fhir.r5.model.SimpleQuantity) src);
228    if (src instanceof org.hl7.fhir.r5.model.Quantity)
229      return Quantity40_50.convertQuantity((org.hl7.fhir.r5.model.Quantity) src);
230    if (src instanceof org.hl7.fhir.r5.model.Range) return Range40_50.convertRange((org.hl7.fhir.r5.model.Range) src);
231    if (src instanceof org.hl7.fhir.r5.model.Ratio) return Ratio40_50.convertRatio((org.hl7.fhir.r5.model.Ratio) src);
232    if (src instanceof org.hl7.fhir.r5.model.Reference)
233      return Reference40_50.convertReference((org.hl7.fhir.r5.model.Reference) src);
234    if (src instanceof org.hl7.fhir.r5.model.RelatedArtifact)
235      return RelatedArtifact40_50.convertRelatedArtifact((org.hl7.fhir.r5.model.RelatedArtifact) src);
236    if (src instanceof org.hl7.fhir.r5.model.SampledData)
237      return SampledData40_50.convertSampledData((org.hl7.fhir.r5.model.SampledData) src);
238    if (src instanceof org.hl7.fhir.r5.model.Signature)
239      return Signature40_50.convertSignature((org.hl7.fhir.r5.model.Signature) src);
240    if (src instanceof org.hl7.fhir.r5.model.SubstanceAmount)
241      return SubstanceAmount40_50.convertSubstanceAmount((org.hl7.fhir.r5.model.SubstanceAmount) src);
242    if (src instanceof org.hl7.fhir.r5.model.Timing)
243      return Timing40_50.convertTiming((org.hl7.fhir.r5.model.Timing) src);
244    if (src instanceof org.hl7.fhir.r5.model.TriggerDefinition)
245      return TriggerDefinition40_50.convertTriggerDefinition((org.hl7.fhir.r5.model.TriggerDefinition) src);
246    if (src instanceof org.hl7.fhir.r5.model.UsageContext)
247      return UsageContext40_50.convertUsageContext((org.hl7.fhir.r5.model.UsageContext) src);
248    if (src instanceof org.hl7.fhir.r5.model.ElementDefinition)
249      return ElementDefinition40_50.convertElementDefinition((org.hl7.fhir.r5.model.ElementDefinition) src);
250    if (advisor.failFastOnNullOrUnknownEntry()) {
251      throw new FHIRException("Unknown type " + src.fhirType());
252    } else {
253      return null;
254    }
255  }
256}