001package org.hl7.fhir.convertors.conv30_50.datatypes30_50;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50;
004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*;
005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*;
006import org.hl7.fhir.exceptions.FHIRException;
007
008public class Type30_50 {
009
010  private final BaseAdvisor_30_50 advisor;
011
012  public Type30_50(BaseAdvisor_30_50 advisor) {
013    this.advisor = advisor;
014  }
015
016  public org.hl7.fhir.r5.model.DataType convertType(org.hl7.fhir.dstu3.model.Type src) throws FHIRException {
017    if (src == null) return null;
018    if (src instanceof org.hl7.fhir.dstu3.model.Base64BinaryType)
019      return Base64Binary30_50.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src);
020    if (src instanceof org.hl7.fhir.dstu3.model.BooleanType)
021      return Boolean30_50.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src);
022    if (src instanceof org.hl7.fhir.dstu3.model.CodeType)
023      return Code30_50.convertCode((org.hl7.fhir.dstu3.model.CodeType) src);
024    if (src instanceof org.hl7.fhir.dstu3.model.DateType)
025      return Date30_50.convertDate((org.hl7.fhir.dstu3.model.DateType) src);
026    if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType)
027      return DateTime30_50.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src);
028    if (src instanceof org.hl7.fhir.dstu3.model.DecimalType)
029      return Decimal30_50.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src);
030    if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id30_50.convertId((org.hl7.fhir.dstu3.model.IdType) src);
031    if (src instanceof org.hl7.fhir.dstu3.model.InstantType)
032      return Instant30_50.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src);
033    if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType)
034      return PositiveInt30_50.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src);
035    if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType)
036      return UnsignedInt30_50.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src);
037    if (src instanceof org.hl7.fhir.dstu3.model.IntegerType)
038      return Integer30_50.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src);
039    if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType)
040      return MarkDown30_50.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src);
041    if (src instanceof org.hl7.fhir.dstu3.model.OidType)
042      return Oid30_50.convertOid((org.hl7.fhir.dstu3.model.OidType) src);
043    if (src instanceof org.hl7.fhir.dstu3.model.StringType)
044      return String30_50.convertString((org.hl7.fhir.dstu3.model.StringType) src);
045    if (src instanceof org.hl7.fhir.dstu3.model.TimeType)
046      return Time30_50.convertTime((org.hl7.fhir.dstu3.model.TimeType) src);
047    if (src instanceof org.hl7.fhir.dstu3.model.UriType)
048      return Uri30_50.convertUri((org.hl7.fhir.dstu3.model.UriType) src);
049    if (src instanceof org.hl7.fhir.dstu3.model.UuidType)
050      return Uuid30_50.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src);
051    if (src instanceof org.hl7.fhir.dstu3.model.Extension)
052      return Extension30_50.convertExtension((org.hl7.fhir.dstu3.model.Extension) src);
053    if (src instanceof org.hl7.fhir.dstu3.model.Narrative)
054      return Narrative30_50.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src);
055    if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age30_50.convertAge((org.hl7.fhir.dstu3.model.Age) src);
056    if (src instanceof org.hl7.fhir.dstu3.model.Annotation)
057      return Annotation30_50.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src);
058    if (src instanceof org.hl7.fhir.dstu3.model.Attachment)
059      return Attachment30_50.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src);
060    if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept)
061      return CodeableConcept30_50.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src);
062    if (src instanceof org.hl7.fhir.dstu3.model.Coding)
063      return Coding30_50.convertCoding((org.hl7.fhir.dstu3.model.Coding) src);
064    if (src instanceof org.hl7.fhir.dstu3.model.Count)
065      return Count30_50.convertCount((org.hl7.fhir.dstu3.model.Count) src);
066    if (src instanceof org.hl7.fhir.dstu3.model.Distance)
067      return Distance30_50.convertDistance((org.hl7.fhir.dstu3.model.Distance) src);
068    if (src instanceof org.hl7.fhir.dstu3.model.Duration)
069      return Duration30_50.convertDuration((org.hl7.fhir.dstu3.model.Duration) src);
070    if (src instanceof org.hl7.fhir.dstu3.model.Identifier)
071      return Identifier30_50.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src);
072    if (src instanceof org.hl7.fhir.dstu3.model.Money)
073      return Money30_50.convertMoney((org.hl7.fhir.dstu3.model.Money) src);
074    if (src instanceof org.hl7.fhir.dstu3.model.Period)
075      return Period30_50.convertPeriod((org.hl7.fhir.dstu3.model.Period) src);
076    if (src instanceof org.hl7.fhir.dstu3.model.Quantity)
077      return Quantity30_50.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src);
078    if (src instanceof org.hl7.fhir.dstu3.model.Range)
079      return Range30_50.convertRange((org.hl7.fhir.dstu3.model.Range) src);
080    if (src instanceof org.hl7.fhir.dstu3.model.Ratio)
081      return Ratio30_50.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src);
082    if (src instanceof org.hl7.fhir.dstu3.model.Reference)
083      return Reference30_50.convertReference((org.hl7.fhir.dstu3.model.Reference) src);
084    if (src instanceof org.hl7.fhir.dstu3.model.SampledData)
085      return SampledData30_50.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src);
086    if (src instanceof org.hl7.fhir.dstu3.model.Signature)
087      return Signature30_50.convertSignature((org.hl7.fhir.dstu3.model.Signature) src);
088    if (src instanceof org.hl7.fhir.dstu3.model.Address)
089      return Address30_50.convertAddress((org.hl7.fhir.dstu3.model.Address) src);
090    if (src instanceof org.hl7.fhir.dstu3.model.ContactDetail)
091      return ContactDetail30_50.convertContactDetail((org.hl7.fhir.dstu3.model.ContactDetail) src);
092    if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint)
093      return ContactPoint30_50.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src);
094    if (src instanceof org.hl7.fhir.dstu3.model.Contributor)
095      return Contributor30_50.convertContributor((org.hl7.fhir.dstu3.model.Contributor) src);
096    if (src instanceof org.hl7.fhir.dstu3.model.Dosage)
097      return Dosage30_50.convertDosage((org.hl7.fhir.dstu3.model.Dosage) src);
098    if (src instanceof org.hl7.fhir.dstu3.model.HumanName)
099      return HumanName30_50.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src);
100    if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta30_50.convertMeta((org.hl7.fhir.dstu3.model.Meta) src);
101    if (src instanceof org.hl7.fhir.dstu3.model.ParameterDefinition)
102      return ParameterDefinition30_50.convertParameterDefinition((org.hl7.fhir.dstu3.model.ParameterDefinition) src);
103    if (src instanceof org.hl7.fhir.dstu3.model.RelatedArtifact)
104      return RelatedArtifact30_50.convertRelatedArtifact((org.hl7.fhir.dstu3.model.RelatedArtifact) src);
105    if (src instanceof org.hl7.fhir.dstu3.model.Timing)
106      return Timing30_50.convertTiming((org.hl7.fhir.dstu3.model.Timing) src);
107    if (src instanceof org.hl7.fhir.dstu3.model.UsageContext)
108      return UsageContext30_50.convertUsageContext((org.hl7.fhir.dstu3.model.UsageContext) src);
109    if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition)
110      return ElementDefinition30_50.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src);
111    if (src instanceof org.hl7.fhir.dstu3.model.DataRequirement)
112      return DataRequirement30_50.convertDataRequirement((org.hl7.fhir.dstu3.model.DataRequirement) src);
113    if (src instanceof org.hl7.fhir.dstu3.model.TriggerDefinition)
114      return TriggerDefinition30_50.convertTriggerDefinition((org.hl7.fhir.dstu3.model.TriggerDefinition) src);
115    if (advisor.failFastOnNullOrUnknownEntry()) {
116      throw new FHIRException("Unknown type " + src.fhirType());
117    } else {
118      return null;
119    }
120  }
121
122  public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.r5.model.DataType src) throws FHIRException {
123    if (src == null) return null;
124    if (src instanceof org.hl7.fhir.r5.model.Base64BinaryType)
125      return Base64Binary30_50.convertBase64Binary((org.hl7.fhir.r5.model.Base64BinaryType) src);
126    if (src instanceof org.hl7.fhir.r5.model.BooleanType)
127      return Boolean30_50.convertBoolean((org.hl7.fhir.r5.model.BooleanType) src);
128    if (src instanceof org.hl7.fhir.r5.model.CodeType)
129      return Code30_50.convertCode((org.hl7.fhir.r5.model.CodeType) src);
130    if (src instanceof org.hl7.fhir.r5.model.DateType)
131      return Date30_50.convertDate((org.hl7.fhir.r5.model.DateType) src);
132    if (src instanceof org.hl7.fhir.r5.model.DateTimeType)
133      return DateTime30_50.convertDateTime((org.hl7.fhir.r5.model.DateTimeType) src);
134    if (src instanceof org.hl7.fhir.r5.model.DecimalType)
135      return Decimal30_50.convertDecimal((org.hl7.fhir.r5.model.DecimalType) src);
136    if (src instanceof org.hl7.fhir.r5.model.IdType) return Id30_50.convertId((org.hl7.fhir.r5.model.IdType) src);
137    if (src instanceof org.hl7.fhir.r5.model.InstantType)
138      return Instant30_50.convertInstant((org.hl7.fhir.r5.model.InstantType) src);
139    if (src instanceof org.hl7.fhir.r5.model.PositiveIntType)
140      return PositiveInt30_50.convertPositiveInt((org.hl7.fhir.r5.model.PositiveIntType) src);
141    if (src instanceof org.hl7.fhir.r5.model.UnsignedIntType)
142      return UnsignedInt30_50.convertUnsignedInt((org.hl7.fhir.r5.model.UnsignedIntType) src);
143    if (src instanceof org.hl7.fhir.r5.model.Integer64Type)
144      return Decimal30_50.convertInteger64((org.hl7.fhir.r5.model.Integer64Type) src);
145    if (src instanceof org.hl7.fhir.r5.model.IntegerType)
146      return Integer30_50.convertInteger((org.hl7.fhir.r5.model.IntegerType) src);
147    if (src instanceof org.hl7.fhir.r5.model.MarkdownType)
148      return MarkDown30_50.convertMarkdown((org.hl7.fhir.r5.model.MarkdownType) src);
149    if (src instanceof org.hl7.fhir.r5.model.OidType) return Oid30_50.convertOid((org.hl7.fhir.r5.model.OidType) src);
150    if (src instanceof org.hl7.fhir.r5.model.StringType)
151      return String30_50.convertString((org.hl7.fhir.r5.model.StringType) src);
152    if (src instanceof org.hl7.fhir.r5.model.TimeType)
153      return Time30_50.convertTime((org.hl7.fhir.r5.model.TimeType) src);
154    if (src instanceof org.hl7.fhir.r5.model.UriType) return Uri30_50.convertUri((org.hl7.fhir.r5.model.UriType) src);
155    if (src instanceof org.hl7.fhir.r5.model.UuidType)
156      return Uuid30_50.convertUuid((org.hl7.fhir.r5.model.UuidType) src);
157    if (src instanceof org.hl7.fhir.r5.model.Extension)
158      return Extension30_50.convertExtension((org.hl7.fhir.r5.model.Extension) src);
159    if (src instanceof org.hl7.fhir.r5.model.Narrative)
160      return Narrative30_50.convertNarrative((org.hl7.fhir.r5.model.Narrative) src);
161    if (src instanceof org.hl7.fhir.r5.model.Age) return Age30_50.convertAge((org.hl7.fhir.r5.model.Age) src);
162    if (src instanceof org.hl7.fhir.r5.model.Annotation)
163      return Annotation30_50.convertAnnotation((org.hl7.fhir.r5.model.Annotation) src);
164    if (src instanceof org.hl7.fhir.r5.model.Attachment)
165      return Attachment30_50.convertAttachment((org.hl7.fhir.r5.model.Attachment) src);
166    if (src instanceof org.hl7.fhir.r5.model.CodeableConcept)
167      return CodeableConcept30_50.convertCodeableConcept((org.hl7.fhir.r5.model.CodeableConcept) src);
168    if (src instanceof org.hl7.fhir.r5.model.Coding)
169      return Coding30_50.convertCoding((org.hl7.fhir.r5.model.Coding) src);
170    if (src instanceof org.hl7.fhir.r5.model.Count) return Count30_50.convertCount((org.hl7.fhir.r5.model.Count) src);
171    if (src instanceof org.hl7.fhir.r5.model.Distance)
172      return Distance30_50.convertDistance((org.hl7.fhir.r5.model.Distance) src);
173    if (src instanceof org.hl7.fhir.r5.model.Duration)
174      return Duration30_50.convertDuration((org.hl7.fhir.r5.model.Duration) src);
175    if (src instanceof org.hl7.fhir.r5.model.Identifier)
176      return Identifier30_50.convertIdentifier((org.hl7.fhir.r5.model.Identifier) src);
177    if (src instanceof org.hl7.fhir.r5.model.Money) return Money30_50.convertMoney((org.hl7.fhir.r5.model.Money) src);
178    if (src instanceof org.hl7.fhir.r5.model.Period)
179      return Period30_50.convertPeriod((org.hl7.fhir.r5.model.Period) src);
180    if (src instanceof org.hl7.fhir.r5.model.Quantity)
181      return Quantity30_50.convertQuantity((org.hl7.fhir.r5.model.Quantity) src);
182    if (src instanceof org.hl7.fhir.r5.model.Range) return Range30_50.convertRange((org.hl7.fhir.r5.model.Range) src);
183    if (src instanceof org.hl7.fhir.r5.model.Ratio) return Ratio30_50.convertRatio((org.hl7.fhir.r5.model.Ratio) src);
184    if (src instanceof org.hl7.fhir.r5.model.Reference)
185      return Reference30_50.convertReference((org.hl7.fhir.r5.model.Reference) src);
186    if (src instanceof org.hl7.fhir.r5.model.SampledData)
187      return SampledData30_50.convertSampledData((org.hl7.fhir.r5.model.SampledData) src);
188    if (src instanceof org.hl7.fhir.r5.model.Signature)
189      return Signature30_50.convertSignature((org.hl7.fhir.r5.model.Signature) src);
190    if (src instanceof org.hl7.fhir.r5.model.Address)
191      return Address30_50.convertAddress((org.hl7.fhir.r5.model.Address) src);
192    if (src instanceof org.hl7.fhir.r5.model.ContactDetail)
193      return ContactDetail30_50.convertContactDetail((org.hl7.fhir.r5.model.ContactDetail) src);
194    if (src instanceof org.hl7.fhir.r5.model.ContactPoint)
195      return ContactPoint30_50.convertContactPoint((org.hl7.fhir.r5.model.ContactPoint) src);
196    if (src instanceof org.hl7.fhir.r5.model.Contributor)
197      return Contributor30_50.convertContributor((org.hl7.fhir.r5.model.Contributor) src);
198    if (src instanceof org.hl7.fhir.r5.model.Dosage)
199      return Dosage30_50.convertDosage((org.hl7.fhir.r5.model.Dosage) src);
200    if (src instanceof org.hl7.fhir.r5.model.HumanName)
201      return HumanName30_50.convertHumanName((org.hl7.fhir.r5.model.HumanName) src);
202    if (src instanceof org.hl7.fhir.r5.model.Meta) return Meta30_50.convertMeta((org.hl7.fhir.r5.model.Meta) src);
203    if (src instanceof org.hl7.fhir.r5.model.ParameterDefinition)
204      return ParameterDefinition30_50.convertParameterDefinition((org.hl7.fhir.r5.model.ParameterDefinition) src);
205    if (src instanceof org.hl7.fhir.r5.model.RelatedArtifact)
206      return RelatedArtifact30_50.convertRelatedArtifact((org.hl7.fhir.r5.model.RelatedArtifact) src);
207    if (src instanceof org.hl7.fhir.r5.model.Timing)
208      return Timing30_50.convertTiming((org.hl7.fhir.r5.model.Timing) src);
209    if (src instanceof org.hl7.fhir.r5.model.UsageContext)
210      return UsageContext30_50.convertUsageContext((org.hl7.fhir.r5.model.UsageContext) src);
211    if (src instanceof org.hl7.fhir.r5.model.ElementDefinition)
212      return ElementDefinition30_50.convertElementDefinition((org.hl7.fhir.r5.model.ElementDefinition) src);
213    if (src instanceof org.hl7.fhir.r5.model.DataRequirement)
214      return DataRequirement30_50.convertDataRequirement((org.hl7.fhir.r5.model.DataRequirement) src);
215    if (src instanceof org.hl7.fhir.r5.model.TriggerDefinition)
216      return TriggerDefinition30_50.convertTriggerDefinition((org.hl7.fhir.r5.model.TriggerDefinition) src);
217    if (advisor.failFastOnNullOrUnknownEntry()) {
218      throw new FHIRException("Unknown type " + src.fhirType());
219    } else {
220      return null;
221    }
222  }
223}