001package org.hl7.fhir.convertors.conv14_30.datatypes14_30;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_30;
004import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Address14_30;
005import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Age14_30;
006import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Annotation14_30;
007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Attachment14_30;
008import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30;
009import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30;
010import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Count14_30;
011import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Distance14_30;
012import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Duration14_30;
013import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.HumanName14_30;
014import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30;
015import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Money14_30;
016import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Period14_30;
017import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Quantity14_30;
018import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Range14_30;
019import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Ratio14_30;
020import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.SampledData14_30;
021import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Signature14_30;
022import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Timing14_30;
023import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Base64Binary14_30;
024import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30;
025import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30;
026import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Date14_30;
027import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30;
028import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Decimal14_30;
029import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30;
030import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Instant14_30;
031import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30;
032import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.MarkDown14_30;
033import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Oid14_30;
034import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.PositiveInt14_30;
035import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30;
036import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Time14_30;
037import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30;
038import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30;
039import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uuid14_30;
040import org.hl7.fhir.exceptions.FHIRException;
041
042public class Type14_30 {
043
044  private final BaseAdvisor_14_30 advisor;
045
046  public Type14_30(BaseAdvisor_14_30 advisor) {
047    this.advisor = advisor;
048  }
049
050  public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.dstu2016may.model.Type src) throws FHIRException {
051    if (src == null || src.isEmpty()) return null;
052    if (src instanceof org.hl7.fhir.dstu2016may.model.Base64BinaryType)
053      return Base64Binary14_30.convertBase64Binary((org.hl7.fhir.dstu2016may.model.Base64BinaryType) src);
054    if (src instanceof org.hl7.fhir.dstu2016may.model.BooleanType)
055      return Boolean14_30.convertBoolean((org.hl7.fhir.dstu2016may.model.BooleanType) src);
056    if (src instanceof org.hl7.fhir.dstu2016may.model.CodeType)
057      return Code14_30.convertCode((org.hl7.fhir.dstu2016may.model.CodeType) src);
058    if (src instanceof org.hl7.fhir.dstu2016may.model.DateType)
059      return Date14_30.convertDate((org.hl7.fhir.dstu2016may.model.DateType) src);
060    if (src instanceof org.hl7.fhir.dstu2016may.model.DateTimeType)
061      return DateTime14_30.convertDateTime((org.hl7.fhir.dstu2016may.model.DateTimeType) src);
062    if (src instanceof org.hl7.fhir.dstu2016may.model.DecimalType)
063      return Decimal14_30.convertDecimal((org.hl7.fhir.dstu2016may.model.DecimalType) src);
064    if (src instanceof org.hl7.fhir.dstu2016may.model.IdType)
065      return Id14_30.convertId((org.hl7.fhir.dstu2016may.model.IdType) src);
066    if (src instanceof org.hl7.fhir.dstu2016may.model.InstantType)
067      return Instant14_30.convertInstant((org.hl7.fhir.dstu2016may.model.InstantType) src);
068    if (src instanceof org.hl7.fhir.dstu2016may.model.MarkdownType)
069      return MarkDown14_30.convertMarkdown((org.hl7.fhir.dstu2016may.model.MarkdownType) src);
070    if (src instanceof org.hl7.fhir.dstu2016may.model.OidType)
071      return Oid14_30.convertOid((org.hl7.fhir.dstu2016may.model.OidType) src);
072    if (src instanceof org.hl7.fhir.dstu2016may.model.PositiveIntType)
073      return PositiveInt14_30.convertPositiveInt((org.hl7.fhir.dstu2016may.model.PositiveIntType) src);
074    if (src instanceof org.hl7.fhir.dstu2016may.model.StringType)
075      return String14_30.convertString((org.hl7.fhir.dstu2016may.model.StringType) src);
076    if (src instanceof org.hl7.fhir.dstu2016may.model.TimeType)
077      return Time14_30.convertTime((org.hl7.fhir.dstu2016may.model.TimeType) src);
078    if (src instanceof org.hl7.fhir.dstu2016may.model.UnsignedIntType)
079      return UnsignedInt14_30.convertUnsignedInt((org.hl7.fhir.dstu2016may.model.UnsignedIntType) src);
080    if (src instanceof org.hl7.fhir.dstu2016may.model.IntegerType)
081      return Integer14_30.convertInteger((org.hl7.fhir.dstu2016may.model.IntegerType) src);
082    if (src instanceof org.hl7.fhir.dstu2016may.model.UuidType)
083      return Uuid14_30.convertUuid((org.hl7.fhir.dstu2016may.model.UuidType) src);
084    if (src instanceof org.hl7.fhir.dstu2016may.model.UriType)
085      return Uri14_30.convertUri((org.hl7.fhir.dstu2016may.model.UriType) src);
086    if (src instanceof org.hl7.fhir.dstu2016may.model.Extension)
087      return Extension14_30.convertExtension((org.hl7.fhir.dstu2016may.model.Extension) src);
088    if (src instanceof org.hl7.fhir.dstu2016may.model.Narrative)
089      return Narrative14_30.convertNarrative((org.hl7.fhir.dstu2016may.model.Narrative) src);
090    if (src instanceof org.hl7.fhir.dstu2016may.model.Age)
091      return Age14_30.convertAge((org.hl7.fhir.dstu2016may.model.Age) src);
092    if (src instanceof org.hl7.fhir.dstu2016may.model.Annotation)
093      return Annotation14_30.convertAnnotation((org.hl7.fhir.dstu2016may.model.Annotation) src);
094    if (src instanceof org.hl7.fhir.dstu2016may.model.Attachment)
095      return Attachment14_30.convertAttachment((org.hl7.fhir.dstu2016may.model.Attachment) src);
096    if (src instanceof org.hl7.fhir.dstu2016may.model.CodeableConcept)
097      return CodeableConcept14_30.convertCodeableConcept((org.hl7.fhir.dstu2016may.model.CodeableConcept) src);
098    if (src instanceof org.hl7.fhir.dstu2016may.model.Coding)
099      return Code14_30.convertCoding((org.hl7.fhir.dstu2016may.model.Coding) src);
100    if (src instanceof org.hl7.fhir.dstu2016may.model.Count)
101      return Count14_30.convertCount((org.hl7.fhir.dstu2016may.model.Count) src);
102    if (src instanceof org.hl7.fhir.dstu2016may.model.Distance)
103      return Distance14_30.convertDistance((org.hl7.fhir.dstu2016may.model.Distance) src);
104    if (src instanceof org.hl7.fhir.dstu2016may.model.Duration)
105      return Duration14_30.convertDuration((org.hl7.fhir.dstu2016may.model.Duration) src);
106    if (src instanceof org.hl7.fhir.dstu2016may.model.Identifier)
107      return Identifier14_30.convertIdentifier((org.hl7.fhir.dstu2016may.model.Identifier) src);
108    if (src instanceof org.hl7.fhir.dstu2016may.model.Money)
109      return Money14_30.convertMoney((org.hl7.fhir.dstu2016may.model.Money) src);
110    if (src instanceof org.hl7.fhir.dstu2016may.model.Period)
111      return Period14_30.convertPeriod((org.hl7.fhir.dstu2016may.model.Period) src);
112    if (src instanceof org.hl7.fhir.dstu2016may.model.Quantity)
113      return Quantity14_30.convertQuantity((org.hl7.fhir.dstu2016may.model.Quantity) src);
114    if (src instanceof org.hl7.fhir.dstu2016may.model.Range)
115      return Range14_30.convertRange((org.hl7.fhir.dstu2016may.model.Range) src);
116    if (src instanceof org.hl7.fhir.dstu2016may.model.Ratio)
117      return Ratio14_30.convertRatio((org.hl7.fhir.dstu2016may.model.Ratio) src);
118    if (src instanceof org.hl7.fhir.dstu2016may.model.Reference)
119      return Reference14_30.convertReference((org.hl7.fhir.dstu2016may.model.Reference) src);
120    if (src instanceof org.hl7.fhir.dstu2016may.model.SampledData)
121      return SampledData14_30.convertSampledData((org.hl7.fhir.dstu2016may.model.SampledData) src);
122    if (src instanceof org.hl7.fhir.dstu2016may.model.Signature)
123      return Signature14_30.convertSignature((org.hl7.fhir.dstu2016may.model.Signature) src);
124    if (src instanceof org.hl7.fhir.dstu2016may.model.Address)
125      return Address14_30.convertAddress((org.hl7.fhir.dstu2016may.model.Address) src);
126    if (src instanceof org.hl7.fhir.dstu2016may.model.ContactPoint)
127      return ContactPoint14_30.convertContactPoint((org.hl7.fhir.dstu2016may.model.ContactPoint) src);
128    if (src instanceof org.hl7.fhir.dstu2016may.model.ElementDefinition)
129      return ElementDefinition14_30.convertElementDefinition((org.hl7.fhir.dstu2016may.model.ElementDefinition) src);
130    if (src instanceof org.hl7.fhir.dstu2016may.model.HumanName)
131      return HumanName14_30.convertHumanName((org.hl7.fhir.dstu2016may.model.HumanName) src);
132    if (src instanceof org.hl7.fhir.dstu2016may.model.Meta)
133      return Meta14_30.convertMeta((org.hl7.fhir.dstu2016may.model.Meta) src);
134    if (src instanceof org.hl7.fhir.dstu2016may.model.Timing)
135      return Timing14_30.convertTiming((org.hl7.fhir.dstu2016may.model.Timing) src);
136    if (advisor.failFastOnNullOrUnknownEntry()) {
137      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R2B to R3");
138    } else {
139      return null;
140    }
141  }
142
143  public org.hl7.fhir.dstu2016may.model.Type convertType(org.hl7.fhir.dstu3.model.Type src) throws FHIRException {
144    if (src == null || src.isEmpty()) return null;
145    if (src instanceof org.hl7.fhir.dstu3.model.Base64BinaryType)
146      return Base64Binary14_30.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src);
147    if (src instanceof org.hl7.fhir.dstu3.model.BooleanType)
148      return Boolean14_30.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src);
149    if (src instanceof org.hl7.fhir.dstu3.model.CodeType)
150      return Code14_30.convertCode((org.hl7.fhir.dstu3.model.CodeType) src);
151    if (src instanceof org.hl7.fhir.dstu3.model.DateType)
152      return Date14_30.convertDate((org.hl7.fhir.dstu3.model.DateType) src);
153    if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType)
154      return DateTime14_30.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src);
155    if (src instanceof org.hl7.fhir.dstu3.model.DecimalType)
156      return Decimal14_30.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src);
157    if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id14_30.convertId((org.hl7.fhir.dstu3.model.IdType) src);
158    if (src instanceof org.hl7.fhir.dstu3.model.InstantType)
159      return Instant14_30.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src);
160    if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType)
161      return MarkDown14_30.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src);
162    if (src instanceof org.hl7.fhir.dstu3.model.OidType)
163      return Oid14_30.convertOid((org.hl7.fhir.dstu3.model.OidType) src);
164    if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType)
165      return PositiveInt14_30.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src);
166    if (src instanceof org.hl7.fhir.dstu3.model.StringType)
167      return String14_30.convertString((org.hl7.fhir.dstu3.model.StringType) src);
168    if (src instanceof org.hl7.fhir.dstu3.model.TimeType)
169      return Time14_30.convertTime((org.hl7.fhir.dstu3.model.TimeType) src);
170    if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType)
171      return UnsignedInt14_30.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src);
172    if (src instanceof org.hl7.fhir.dstu3.model.IntegerType)
173      return Integer14_30.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src);
174    if (src instanceof org.hl7.fhir.dstu3.model.UuidType)
175      return Uuid14_30.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src);
176    if (src instanceof org.hl7.fhir.dstu3.model.UriType)
177      return Uri14_30.convertUri((org.hl7.fhir.dstu3.model.UriType) src);
178    if (src instanceof org.hl7.fhir.dstu3.model.Extension)
179      return Extension14_30.convertExtension((org.hl7.fhir.dstu3.model.Extension) src);
180    if (src instanceof org.hl7.fhir.dstu3.model.Narrative)
181      return Narrative14_30.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src);
182    if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age14_30.convertAge((org.hl7.fhir.dstu3.model.Age) src);
183    if (src instanceof org.hl7.fhir.dstu3.model.Annotation)
184      return Annotation14_30.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src);
185    if (src instanceof org.hl7.fhir.dstu3.model.Attachment)
186      return Attachment14_30.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src);
187    if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept)
188      return CodeableConcept14_30.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src);
189    if (src instanceof org.hl7.fhir.dstu3.model.Coding)
190      return Code14_30.convertCoding((org.hl7.fhir.dstu3.model.Coding) src);
191    if (src instanceof org.hl7.fhir.dstu3.model.Count)
192      return Count14_30.convertCount((org.hl7.fhir.dstu3.model.Count) src);
193    if (src instanceof org.hl7.fhir.dstu3.model.Distance)
194      return Distance14_30.convertDistance((org.hl7.fhir.dstu3.model.Distance) src);
195    if (src instanceof org.hl7.fhir.dstu3.model.Duration)
196      return Duration14_30.convertDuration((org.hl7.fhir.dstu3.model.Duration) src);
197    if (src instanceof org.hl7.fhir.dstu3.model.Identifier)
198      return Identifier14_30.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src);
199    if (src instanceof org.hl7.fhir.dstu3.model.Money)
200      return Money14_30.convertMoney((org.hl7.fhir.dstu3.model.Money) src);
201    if (src instanceof org.hl7.fhir.dstu3.model.Period)
202      return Period14_30.convertPeriod((org.hl7.fhir.dstu3.model.Period) src);
203    if (src instanceof org.hl7.fhir.dstu3.model.Quantity)
204      return Quantity14_30.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src);
205    if (src instanceof org.hl7.fhir.dstu3.model.Range)
206      return Range14_30.convertRange((org.hl7.fhir.dstu3.model.Range) src);
207    if (src instanceof org.hl7.fhir.dstu3.model.Ratio)
208      return Ratio14_30.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src);
209    if (src instanceof org.hl7.fhir.dstu3.model.Reference)
210      return Reference14_30.convertReference((org.hl7.fhir.dstu3.model.Reference) src);
211    if (src instanceof org.hl7.fhir.dstu3.model.SampledData)
212      return SampledData14_30.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src);
213    if (src instanceof org.hl7.fhir.dstu3.model.Signature)
214      return Signature14_30.convertSignature((org.hl7.fhir.dstu3.model.Signature) src);
215    if (src instanceof org.hl7.fhir.dstu3.model.Address)
216      return Address14_30.convertAddress((org.hl7.fhir.dstu3.model.Address) src);
217    if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint)
218      return ContactPoint14_30.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src);
219    if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition)
220      return ElementDefinition14_30.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src);
221    if (src instanceof org.hl7.fhir.dstu3.model.HumanName)
222      return HumanName14_30.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src);
223    if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta14_30.convertMeta((org.hl7.fhir.dstu3.model.Meta) src);
224    if (src instanceof org.hl7.fhir.dstu3.model.Timing)
225      return Timing14_30.convertTiming((org.hl7.fhir.dstu3.model.Timing) src);
226    if (advisor.failFastOnNullOrUnknownEntry()) {
227      throw new FHIRException("The type " + src.fhirType()+" cannot be converted from R3 to R2B");
228    } else {
229      return null;
230    }
231  }
232}