001package org.hl7.fhir.convertors.conv30_40.datatypes30_40;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40;
004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*;
005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*;
006import org.hl7.fhir.exceptions.FHIRException;
007
008public class Type30_40 {
009
010  private final BaseAdvisor_30_40 advisor;
011
012  public Type30_40(BaseAdvisor_30_40 advisor) {
013    this.advisor = advisor;
014  }
015
016  public org.hl7.fhir.r4.model.Type 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_40.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src);
020    if (src instanceof org.hl7.fhir.dstu3.model.BooleanType)
021      return Boolean30_40.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src);
022    if (src instanceof org.hl7.fhir.dstu3.model.CodeType)
023      return Code30_40.convertCode((org.hl7.fhir.dstu3.model.CodeType) src);
024    if (src instanceof org.hl7.fhir.dstu3.model.DateType)
025      return Date30_40.convertDate((org.hl7.fhir.dstu3.model.DateType) src);
026    if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType)
027      return DateTime30_40.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src);
028    if (src instanceof org.hl7.fhir.dstu3.model.DecimalType)
029      return Decimal30_40.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src);
030    if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id30_40.convertId((org.hl7.fhir.dstu3.model.IdType) src);
031    if (src instanceof org.hl7.fhir.dstu3.model.InstantType)
032      return Instant30_40.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src);
033    if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType)
034      return PositiveInt30_40.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src);
035    if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType)
036      return UnsignedInt30_40.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src);
037    if (src instanceof org.hl7.fhir.dstu3.model.IntegerType)
038      return Integer30_40.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src);
039    if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType)
040      return MarkDown30_40.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src);
041    if (src instanceof org.hl7.fhir.dstu3.model.OidType)
042      return Oid30_40.convertOid((org.hl7.fhir.dstu3.model.OidType) src);
043    if (src instanceof org.hl7.fhir.dstu3.model.StringType)
044      return String30_40.convertString((org.hl7.fhir.dstu3.model.StringType) src);
045    if (src instanceof org.hl7.fhir.dstu3.model.TimeType)
046      return Time30_40.convertTime((org.hl7.fhir.dstu3.model.TimeType) src);
047    if (src instanceof org.hl7.fhir.dstu3.model.UuidType)
048      return Uuid30_40.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src);
049    if (src instanceof org.hl7.fhir.dstu3.model.UriType)
050      return Uri30_40.convertUri((org.hl7.fhir.dstu3.model.UriType) src);
051    if (src instanceof org.hl7.fhir.dstu3.model.Extension)
052      return Extension30_40.convertExtension((org.hl7.fhir.dstu3.model.Extension) src);
053    if (src instanceof org.hl7.fhir.dstu3.model.Narrative)
054      return Narrative30_40.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src);
055    if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age30_40.convertAge((org.hl7.fhir.dstu3.model.Age) src);
056    if (src instanceof org.hl7.fhir.dstu3.model.Annotation)
057      return Annotation30_40.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src);
058    if (src instanceof org.hl7.fhir.dstu3.model.Attachment)
059      return Attachment30_40.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src);
060    if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept)
061      return CodeableConcept30_40.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src);
062    if (src instanceof org.hl7.fhir.dstu3.model.Coding)
063      return Coding30_40.convertCoding((org.hl7.fhir.dstu3.model.Coding) src);
064    if (src instanceof org.hl7.fhir.dstu3.model.Count)
065      return Count30_40.convertCount((org.hl7.fhir.dstu3.model.Count) src);
066    if (src instanceof org.hl7.fhir.dstu3.model.Distance)
067      return Distance30_40.convertDistance((org.hl7.fhir.dstu3.model.Distance) src);
068    if (src instanceof org.hl7.fhir.dstu3.model.Duration)
069      return Duration30_40.convertDuration((org.hl7.fhir.dstu3.model.Duration) src);
070    if (src instanceof org.hl7.fhir.dstu3.model.Identifier)
071      return Identifier30_40.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src);
072    if (src instanceof org.hl7.fhir.dstu3.model.Money)
073      return Money30_40.convertMoney((org.hl7.fhir.dstu3.model.Money) src);
074    if (src instanceof org.hl7.fhir.dstu3.model.Period)
075      return Period30_40.convertPeriod((org.hl7.fhir.dstu3.model.Period) src);
076    if (src instanceof org.hl7.fhir.dstu3.model.SimpleQuantity)
077      return SimpleQuantity30_40.convertSimpleQuantity((org.hl7.fhir.dstu3.model.SimpleQuantity) src);
078    if (src instanceof org.hl7.fhir.dstu3.model.Quantity)
079      return Quantity30_40.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src);
080    if (src instanceof org.hl7.fhir.dstu3.model.Range)
081      return Range30_40.convertRange((org.hl7.fhir.dstu3.model.Range) src);
082    if (src instanceof org.hl7.fhir.dstu3.model.Ratio)
083      return Ratio30_40.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src);
084    if (src instanceof org.hl7.fhir.dstu3.model.Reference)
085      return Reference30_40.convertReference((org.hl7.fhir.dstu3.model.Reference) src);
086    if (src instanceof org.hl7.fhir.dstu3.model.SampledData)
087      return SampledData30_40.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src);
088    if (src instanceof org.hl7.fhir.dstu3.model.Signature)
089      return Signature30_40.convertSignature((org.hl7.fhir.dstu3.model.Signature) src);
090    if (src instanceof org.hl7.fhir.dstu3.model.Address)
091      return Address30_40.convertAddress((org.hl7.fhir.dstu3.model.Address) src);
092    if (src instanceof org.hl7.fhir.dstu3.model.ContactDetail)
093      return ContactDetail30_40.convertContactDetail((org.hl7.fhir.dstu3.model.ContactDetail) src);
094    if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint)
095      return ContactPoint30_40.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src);
096    if (src instanceof org.hl7.fhir.dstu3.model.Contributor)
097      return Contributor30_40.convertContributor((org.hl7.fhir.dstu3.model.Contributor) src);
098    if (src instanceof org.hl7.fhir.dstu3.model.Dosage)
099      return Dosage30_40.convertDosage((org.hl7.fhir.dstu3.model.Dosage) src);
100    if (src instanceof org.hl7.fhir.dstu3.model.HumanName)
101      return HumanName30_40.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src);
102    if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta30_40.convertMeta((org.hl7.fhir.dstu3.model.Meta) src);
103    if (src instanceof org.hl7.fhir.dstu3.model.ParameterDefinition)
104      return ParameterDefinition30_40.convertParameterDefinition((org.hl7.fhir.dstu3.model.ParameterDefinition) src);
105    if (src instanceof org.hl7.fhir.dstu3.model.RelatedArtifact)
106      return RelatedArtifact30_40.convertRelatedArtifact((org.hl7.fhir.dstu3.model.RelatedArtifact) src);
107    if (src instanceof org.hl7.fhir.dstu3.model.Timing)
108      return Timing30_40.convertTiming((org.hl7.fhir.dstu3.model.Timing) src);
109    if (src instanceof org.hl7.fhir.dstu3.model.UsageContext)
110      return Timing30_40.convertUsageContext((org.hl7.fhir.dstu3.model.UsageContext) src);
111    if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition)
112      return ElementDefinition30_40.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src);
113    if (src instanceof org.hl7.fhir.dstu3.model.DataRequirement)
114      return TriggerDefinition30_40.convertDataRequirement((org.hl7.fhir.dstu3.model.DataRequirement) src);
115    if (src instanceof org.hl7.fhir.dstu3.model.TriggerDefinition)
116      return TriggerDefinition30_40.convertTriggerDefinition((org.hl7.fhir.dstu3.model.TriggerDefinition) src);
117    if (advisor.failFastOnNullOrUnknownEntry()) {
118      throw new FHIRException("Unknown type " + src.fhirType());
119    } else {
120      return null;
121    }
122  }
123
124  public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.r4.model.Type src) throws FHIRException {
125    if (src == null) return null;
126    if (src instanceof org.hl7.fhir.r4.model.Base64BinaryType)
127      return Base64Binary30_40.convertBase64Binary((org.hl7.fhir.r4.model.Base64BinaryType) src);
128    if (src instanceof org.hl7.fhir.r4.model.BooleanType)
129      return Boolean30_40.convertBoolean((org.hl7.fhir.r4.model.BooleanType) src);
130    if (src instanceof org.hl7.fhir.r4.model.CodeType)
131      return Code30_40.convertCode((org.hl7.fhir.r4.model.CodeType) src);
132    if (src instanceof org.hl7.fhir.r4.model.DateType)
133      return Date30_40.convertDate((org.hl7.fhir.r4.model.DateType) src);
134    if (src instanceof org.hl7.fhir.r4.model.DateTimeType)
135      return DateTime30_40.convertDateTime((org.hl7.fhir.r4.model.DateTimeType) src);
136    if (src instanceof org.hl7.fhir.r4.model.DecimalType)
137      return Decimal30_40.convertDecimal((org.hl7.fhir.r4.model.DecimalType) src);
138    if (src instanceof org.hl7.fhir.r4.model.IdType) return Id30_40.convertId((org.hl7.fhir.r4.model.IdType) src);
139    if (src instanceof org.hl7.fhir.r4.model.InstantType)
140      return Instant30_40.convertInstant((org.hl7.fhir.r4.model.InstantType) src);
141    if (src instanceof org.hl7.fhir.r4.model.PositiveIntType)
142      return PositiveInt30_40.convertPositiveInt((org.hl7.fhir.r4.model.PositiveIntType) src);
143    if (src instanceof org.hl7.fhir.r4.model.UnsignedIntType)
144      return UnsignedInt30_40.convertUnsignedInt((org.hl7.fhir.r4.model.UnsignedIntType) src);
145    if (src instanceof org.hl7.fhir.r4.model.IntegerType)
146      return Integer30_40.convertInteger((org.hl7.fhir.r4.model.IntegerType) src);
147    if (src instanceof org.hl7.fhir.r4.model.MarkdownType)
148      return MarkDown30_40.convertMarkdown((org.hl7.fhir.r4.model.MarkdownType) src);
149    if (src instanceof org.hl7.fhir.r4.model.OidType) return Oid30_40.convertOid((org.hl7.fhir.r4.model.OidType) src);
150    if (src instanceof org.hl7.fhir.r4.model.StringType)
151      return String30_40.convertString((org.hl7.fhir.r4.model.StringType) src);
152    if (src instanceof org.hl7.fhir.r4.model.TimeType)
153      return Time30_40.convertTime((org.hl7.fhir.r4.model.TimeType) src);
154    if (src instanceof org.hl7.fhir.r4.model.UuidType)
155      return Uuid30_40.convertUuid((org.hl7.fhir.r4.model.UuidType) src);
156    if (src instanceof org.hl7.fhir.r4.model.UriType) return Uri30_40.convertUri((org.hl7.fhir.r4.model.UriType) src);
157    if (src instanceof org.hl7.fhir.r4.model.Extension)
158      return Extension30_40.convertExtension((org.hl7.fhir.r4.model.Extension) src);
159    if (src instanceof org.hl7.fhir.r4.model.Narrative)
160      return Narrative30_40.convertNarrative((org.hl7.fhir.r4.model.Narrative) src);
161    if (src instanceof org.hl7.fhir.r4.model.Age) return Age30_40.convertAge((org.hl7.fhir.r4.model.Age) src);
162    if (src instanceof org.hl7.fhir.r4.model.Annotation)
163      return Annotation30_40.convertAnnotation((org.hl7.fhir.r4.model.Annotation) src);
164    if (src instanceof org.hl7.fhir.r4.model.Attachment)
165      return Attachment30_40.convertAttachment((org.hl7.fhir.r4.model.Attachment) src);
166    if (src instanceof org.hl7.fhir.r4.model.CodeableConcept)
167      return CodeableConcept30_40.convertCodeableConcept((org.hl7.fhir.r4.model.CodeableConcept) src);
168    if (src instanceof org.hl7.fhir.r4.model.Coding)
169      return Coding30_40.convertCoding((org.hl7.fhir.r4.model.Coding) src);
170    if (src instanceof org.hl7.fhir.r4.model.Count) return Count30_40.convertCount((org.hl7.fhir.r4.model.Count) src);
171    if (src instanceof org.hl7.fhir.r4.model.Distance)
172      return Distance30_40.convertDistance((org.hl7.fhir.r4.model.Distance) src);
173    if (src instanceof org.hl7.fhir.r4.model.Duration)
174      return Duration30_40.convertDuration((org.hl7.fhir.r4.model.Duration) src);
175    if (src instanceof org.hl7.fhir.r4.model.Identifier)
176      return Identifier30_40.convertIdentifier((org.hl7.fhir.r4.model.Identifier) src);
177    if (src instanceof org.hl7.fhir.r4.model.Money) return Money30_40.convertMoney((org.hl7.fhir.r4.model.Money) src);
178    if (src instanceof org.hl7.fhir.r4.model.Period)
179      return Period30_40.convertPeriod((org.hl7.fhir.r4.model.Period) src);
180    if (src instanceof org.hl7.fhir.r4.model.SimpleQuantity)
181      return SimpleQuantity30_40.convertSimpleQuantity((org.hl7.fhir.r4.model.SimpleQuantity) src);
182    if (src instanceof org.hl7.fhir.r4.model.Quantity)
183      return Quantity30_40.convertQuantity((org.hl7.fhir.r4.model.Quantity) src);
184    if (src instanceof org.hl7.fhir.r4.model.Range) return Range30_40.convertRange((org.hl7.fhir.r4.model.Range) src);
185    if (src instanceof org.hl7.fhir.r4.model.Ratio) return Ratio30_40.convertRatio((org.hl7.fhir.r4.model.Ratio) src);
186    if (src instanceof org.hl7.fhir.r4.model.Reference)
187      return Reference30_40.convertReference((org.hl7.fhir.r4.model.Reference) src);
188    if (src instanceof org.hl7.fhir.r4.model.SampledData)
189      return SampledData30_40.convertSampledData((org.hl7.fhir.r4.model.SampledData) src);
190    if (src instanceof org.hl7.fhir.r4.model.Signature)
191      return Signature30_40.convertSignature((org.hl7.fhir.r4.model.Signature) src);
192    if (src instanceof org.hl7.fhir.r4.model.Address)
193      return Address30_40.convertAddress((org.hl7.fhir.r4.model.Address) src);
194    if (src instanceof org.hl7.fhir.r4.model.ContactDetail)
195      return ContactDetail30_40.convertContactDetail((org.hl7.fhir.r4.model.ContactDetail) src);
196    if (src instanceof org.hl7.fhir.r4.model.ContactPoint)
197      return ContactPoint30_40.convertContactPoint((org.hl7.fhir.r4.model.ContactPoint) src);
198    if (src instanceof org.hl7.fhir.r4.model.Contributor)
199      return Contributor30_40.convertContributor((org.hl7.fhir.r4.model.Contributor) src);
200    if (src instanceof org.hl7.fhir.r4.model.Dosage)
201      return Dosage30_40.convertDosage((org.hl7.fhir.r4.model.Dosage) src);
202    if (src instanceof org.hl7.fhir.r4.model.HumanName)
203      return HumanName30_40.convertHumanName((org.hl7.fhir.r4.model.HumanName) src);
204    if (src instanceof org.hl7.fhir.r4.model.Meta) return Meta30_40.convertMeta((org.hl7.fhir.r4.model.Meta) src);
205    if (src instanceof org.hl7.fhir.r4.model.ParameterDefinition)
206      return ParameterDefinition30_40.convertParameterDefinition((org.hl7.fhir.r4.model.ParameterDefinition) src);
207    if (src instanceof org.hl7.fhir.r4.model.RelatedArtifact)
208      return RelatedArtifact30_40.convertRelatedArtifact((org.hl7.fhir.r4.model.RelatedArtifact) src);
209    if (src instanceof org.hl7.fhir.r4.model.Timing)
210      return Timing30_40.convertTiming((org.hl7.fhir.r4.model.Timing) src);
211    if (src instanceof org.hl7.fhir.r4.model.UsageContext)
212      return Timing30_40.convertUsageContext((org.hl7.fhir.r4.model.UsageContext) src);
213    if (src instanceof org.hl7.fhir.r4.model.ElementDefinition)
214      return ElementDefinition30_40.convertElementDefinition((org.hl7.fhir.r4.model.ElementDefinition) src);
215    if (src instanceof org.hl7.fhir.r4.model.DataRequirement)
216      return TriggerDefinition30_40.convertDataRequirement((org.hl7.fhir.r4.model.DataRequirement) src);
217    if (src instanceof org.hl7.fhir.r4.model.TriggerDefinition)
218      return TriggerDefinition30_40.convertTriggerDefinition((org.hl7.fhir.r4.model.TriggerDefinition) src);
219    if (advisor.failFastOnNullOrUnknownEntry()) {
220      throw new FHIRException("Unknown type " + src.fhirType());
221    } else {
222      return null;
223    }
224  }
225}