001package org.hl7.fhir.convertors.conv10_30.datatypes10_30;
002
003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30;
004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*;
005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*;
006import org.hl7.fhir.exceptions.FHIRException;
007
008import java.util.ArrayList;
009
010public class Type10_30 {
011
012  private final BaseAdvisor_10_30 advisor;
013
014  public Type10_30(BaseAdvisor_10_30 advisor) {
015    this.advisor = advisor;
016  }
017
018  public org.hl7.fhir.dstu3.model.Type convertType(org.hl7.fhir.dstu2.model.Type src) throws FHIRException {
019    if (src == null || src.isEmpty()) return null;
020    if (src instanceof org.hl7.fhir.dstu2.model.Base64BinaryType)
021      return Base64Binary10_30.convertBase64Binary((org.hl7.fhir.dstu2.model.Base64BinaryType) src);
022    if (src instanceof org.hl7.fhir.dstu2.model.BooleanType)
023      return Boolean10_30.convertBoolean((org.hl7.fhir.dstu2.model.BooleanType) src);
024    if (src instanceof org.hl7.fhir.dstu2.model.CodeType)
025      return Code10_30.convertCode((org.hl7.fhir.dstu2.model.CodeType) src);
026    if (src instanceof org.hl7.fhir.dstu2.model.DateType)
027      return Date10_30.convertDate((org.hl7.fhir.dstu2.model.DateType) src);
028    if (src instanceof org.hl7.fhir.dstu2.model.DateTimeType)
029      return DateTime10_30.convertDateTime((org.hl7.fhir.dstu2.model.DateTimeType) src);
030    if (src instanceof org.hl7.fhir.dstu2.model.DecimalType)
031      return Decimal10_30.convertDecimal((org.hl7.fhir.dstu2.model.DecimalType) src);
032    if (src instanceof org.hl7.fhir.dstu2.model.IdType) return Id10_30.convertId((org.hl7.fhir.dstu2.model.IdType) src);
033    if (src instanceof org.hl7.fhir.dstu2.model.InstantType)
034      return Instant10_30.convertInstant((org.hl7.fhir.dstu2.model.InstantType) src);
035    if (src instanceof org.hl7.fhir.dstu2.model.PositiveIntType)
036      return PositiveInt10_30.convertPositiveInt((org.hl7.fhir.dstu2.model.PositiveIntType) src);
037    if (src instanceof org.hl7.fhir.dstu2.model.UnsignedIntType)
038      return UnsignedInt10_30.convertUnsignedInt((org.hl7.fhir.dstu2.model.UnsignedIntType) src);
039    if (src instanceof org.hl7.fhir.dstu2.model.IntegerType)
040      return Integer10_30.convertInteger((org.hl7.fhir.dstu2.model.IntegerType) src);
041    if (src instanceof org.hl7.fhir.dstu2.model.MarkdownType)
042      return MarkDown10_30.convertMarkdown((org.hl7.fhir.dstu2.model.MarkdownType) src);
043    if (src instanceof org.hl7.fhir.dstu2.model.OidType)
044      return Oid10_30.convertOid((org.hl7.fhir.dstu2.model.OidType) src);
045    if (src instanceof org.hl7.fhir.dstu2.model.StringType)
046      return String10_30.convertString((org.hl7.fhir.dstu2.model.StringType) src);
047    if (src instanceof org.hl7.fhir.dstu2.model.TimeType)
048      return Time10_30.convertTime((org.hl7.fhir.dstu2.model.TimeType) src);
049    if (src instanceof org.hl7.fhir.dstu2.model.UuidType)
050      return Uuid10_30.convertUuid((org.hl7.fhir.dstu2.model.UuidType) src);
051    if (src instanceof org.hl7.fhir.dstu2.model.UriType)
052      return Uri10_30.convertUri((org.hl7.fhir.dstu2.model.UriType) src);
053    if (src instanceof org.hl7.fhir.dstu2.model.Extension)
054      return Extension10_30.convertExtension((org.hl7.fhir.dstu2.model.Extension) src);
055    if (src instanceof org.hl7.fhir.dstu2.model.Narrative)
056      return Narrative10_30.convertNarrative((org.hl7.fhir.dstu2.model.Narrative) src);
057    if (src instanceof org.hl7.fhir.dstu2.model.Annotation)
058      return Annotation10_30.convertAnnotation((org.hl7.fhir.dstu2.model.Annotation) src);
059    if (src instanceof org.hl7.fhir.dstu2.model.Attachment)
060      return Attachment10_30.convertAttachment((org.hl7.fhir.dstu2.model.Attachment) src);
061    if (src instanceof org.hl7.fhir.dstu2.model.CodeableConcept)
062      return CodeableConcept10_30.convertCodeableConcept((org.hl7.fhir.dstu2.model.CodeableConcept) src);
063    if (src instanceof org.hl7.fhir.dstu2.model.Coding)
064      return Coding10_30.convertCoding((org.hl7.fhir.dstu2.model.Coding) src);
065    if (src instanceof org.hl7.fhir.dstu2.model.Identifier)
066      return Identifier10_30.convertIdentifier((org.hl7.fhir.dstu2.model.Identifier) src);
067    if (src instanceof org.hl7.fhir.dstu2.model.Period)
068      return Period10_30.convertPeriod((org.hl7.fhir.dstu2.model.Period) src);
069    if (src instanceof org.hl7.fhir.dstu2.model.Age) return Age10_30.convertAge((org.hl7.fhir.dstu2.model.Age) src);
070    if (src instanceof org.hl7.fhir.dstu2.model.Count)
071      return Count10_30.convertCount((org.hl7.fhir.dstu2.model.Count) src);
072    if (src instanceof org.hl7.fhir.dstu2.model.Distance)
073      return Distance10_30.convertDistance((org.hl7.fhir.dstu2.model.Distance) src);
074    if (src instanceof org.hl7.fhir.dstu2.model.Duration)
075      return Duration10_30.convertDuration((org.hl7.fhir.dstu2.model.Duration) src);
076    if (src instanceof org.hl7.fhir.dstu2.model.Money)
077      return Money10_30.convertMoney((org.hl7.fhir.dstu2.model.Money) src);
078    if (src instanceof org.hl7.fhir.dstu2.model.SimpleQuantity)
079      return SimpleQuantity10_30.convertSimpleQuantity((org.hl7.fhir.dstu2.model.SimpleQuantity) src);
080    if (src instanceof org.hl7.fhir.dstu2.model.Quantity)
081      return Quantity10_30.convertQuantity((org.hl7.fhir.dstu2.model.Quantity) src);
082    if (src instanceof org.hl7.fhir.dstu2.model.Range)
083      return Range10_30.convertRange((org.hl7.fhir.dstu2.model.Range) src);
084    if (src instanceof org.hl7.fhir.dstu2.model.Ratio)
085      return Ratio10_30.convertRatio((org.hl7.fhir.dstu2.model.Ratio) src);
086    if (src instanceof org.hl7.fhir.dstu2.model.Reference)
087      return Reference10_30.convertReference((org.hl7.fhir.dstu2.model.Reference) src);
088    if (src instanceof org.hl7.fhir.dstu2.model.SampledData)
089      return SampledData10_30.convertSampledData((org.hl7.fhir.dstu2.model.SampledData) src);
090    if (src instanceof org.hl7.fhir.dstu2.model.Signature)
091      return Signature10_30.convertSignature((org.hl7.fhir.dstu2.model.Signature) src);
092    if (src instanceof org.hl7.fhir.dstu2.model.Address)
093      return Address10_30.convertAddress((org.hl7.fhir.dstu2.model.Address) src);
094    if (src instanceof org.hl7.fhir.dstu2.model.ContactPoint)
095      return ContactPoint10_30.convertContactPoint((org.hl7.fhir.dstu2.model.ContactPoint) src);
096    if (src instanceof org.hl7.fhir.dstu2.model.ElementDefinition)
097      return ElementDefinition10_30.convertElementDefinition((org.hl7.fhir.dstu2.model.ElementDefinition) src, new ArrayList<String>());
098    if (src instanceof org.hl7.fhir.dstu2.model.HumanName)
099      return HumanName10_30.convertHumanName((org.hl7.fhir.dstu2.model.HumanName) src);
100    if (src instanceof org.hl7.fhir.dstu2.model.Meta) return Meta10_30.convertMeta((org.hl7.fhir.dstu2.model.Meta) src);
101    if (src instanceof org.hl7.fhir.dstu2.model.Timing)
102      return Timing10_30.convertTiming((org.hl7.fhir.dstu2.model.Timing) src);
103    if (advisor.failFastOnNullOrUnknownEntry()) {
104      throw new FHIRException("Unknown type " + src.fhirType());
105    } else {
106      return null;
107    }
108  }
109
110  public org.hl7.fhir.dstu2.model.Type convertType(org.hl7.fhir.dstu3.model.Type src) throws FHIRException {
111    if (src == null || src.isEmpty()) return null;
112    if (src instanceof org.hl7.fhir.dstu3.model.Base64BinaryType)
113      return Base64Binary10_30.convertBase64Binary((org.hl7.fhir.dstu3.model.Base64BinaryType) src);
114    if (src instanceof org.hl7.fhir.dstu3.model.BooleanType)
115      return Boolean10_30.convertBoolean((org.hl7.fhir.dstu3.model.BooleanType) src);
116    if (src instanceof org.hl7.fhir.dstu3.model.CodeType)
117      return Code10_30.convertCode((org.hl7.fhir.dstu3.model.CodeType) src);
118    if (src instanceof org.hl7.fhir.dstu3.model.DateType)
119      return Date10_30.convertDate((org.hl7.fhir.dstu3.model.DateType) src);
120    if (src instanceof org.hl7.fhir.dstu3.model.DateTimeType)
121      return DateTime10_30.convertDateTime((org.hl7.fhir.dstu3.model.DateTimeType) src);
122    if (src instanceof org.hl7.fhir.dstu3.model.DecimalType)
123      return Decimal10_30.convertDecimal((org.hl7.fhir.dstu3.model.DecimalType) src);
124    if (src instanceof org.hl7.fhir.dstu3.model.IdType) return Id10_30.convertId((org.hl7.fhir.dstu3.model.IdType) src);
125    if (src instanceof org.hl7.fhir.dstu3.model.InstantType)
126      return Instant10_30.convertInstant((org.hl7.fhir.dstu3.model.InstantType) src);
127    if (src instanceof org.hl7.fhir.dstu3.model.PositiveIntType)
128      return PositiveInt10_30.convertPositiveInt((org.hl7.fhir.dstu3.model.PositiveIntType) src);
129    if (src instanceof org.hl7.fhir.dstu3.model.UnsignedIntType)
130      return UnsignedInt10_30.convertUnsignedInt((org.hl7.fhir.dstu3.model.UnsignedIntType) src);
131    if (src instanceof org.hl7.fhir.dstu3.model.IntegerType)
132      return Integer10_30.convertInteger((org.hl7.fhir.dstu3.model.IntegerType) src);
133    if (src instanceof org.hl7.fhir.dstu3.model.MarkdownType)
134      return MarkDown10_30.convertMarkdown((org.hl7.fhir.dstu3.model.MarkdownType) src);
135    if (src instanceof org.hl7.fhir.dstu3.model.OidType)
136      return Oid10_30.convertOid((org.hl7.fhir.dstu3.model.OidType) src);
137    if (src instanceof org.hl7.fhir.dstu3.model.StringType)
138      return String10_30.convertString((org.hl7.fhir.dstu3.model.StringType) src);
139    if (src instanceof org.hl7.fhir.dstu3.model.TimeType)
140      return Time10_30.convertTime((org.hl7.fhir.dstu3.model.TimeType) src);
141    if (src instanceof org.hl7.fhir.dstu3.model.UuidType)
142      return Uuid10_30.convertUuid((org.hl7.fhir.dstu3.model.UuidType) src);
143    if (src instanceof org.hl7.fhir.dstu3.model.UriType)
144      return Uri10_30.convertUri((org.hl7.fhir.dstu3.model.UriType) src);
145    if (src instanceof org.hl7.fhir.dstu3.model.Extension)
146      return Extension10_30.convertExtension((org.hl7.fhir.dstu3.model.Extension) src);
147    if (src instanceof org.hl7.fhir.dstu3.model.Narrative)
148      return Narrative10_30.convertNarrative((org.hl7.fhir.dstu3.model.Narrative) src);
149    if (src instanceof org.hl7.fhir.dstu3.model.Annotation)
150      return Annotation10_30.convertAnnotation((org.hl7.fhir.dstu3.model.Annotation) src);
151    if (src instanceof org.hl7.fhir.dstu3.model.Attachment)
152      return Attachment10_30.convertAttachment((org.hl7.fhir.dstu3.model.Attachment) src);
153    if (src instanceof org.hl7.fhir.dstu3.model.CodeableConcept)
154      return CodeableConcept10_30.convertCodeableConcept((org.hl7.fhir.dstu3.model.CodeableConcept) src);
155    if (src instanceof org.hl7.fhir.dstu3.model.Coding)
156      return Coding10_30.convertCoding((org.hl7.fhir.dstu3.model.Coding) src);
157    if (src instanceof org.hl7.fhir.dstu3.model.Identifier)
158      return Identifier10_30.convertIdentifier((org.hl7.fhir.dstu3.model.Identifier) src);
159    if (src instanceof org.hl7.fhir.dstu3.model.Period)
160      return Period10_30.convertPeriod((org.hl7.fhir.dstu3.model.Period) src);
161    if (src instanceof org.hl7.fhir.dstu3.model.Age) return Age10_30.convertAge((org.hl7.fhir.dstu3.model.Age) src);
162    if (src instanceof org.hl7.fhir.dstu3.model.Count)
163      return Count10_30.convertCount((org.hl7.fhir.dstu3.model.Count) src);
164    if (src instanceof org.hl7.fhir.dstu3.model.Distance)
165      return Distance10_30.convertDistance((org.hl7.fhir.dstu3.model.Distance) src);
166    if (src instanceof org.hl7.fhir.dstu3.model.Duration)
167      return Duration10_30.convertDuration((org.hl7.fhir.dstu3.model.Duration) src);
168    if (src instanceof org.hl7.fhir.dstu3.model.Money)
169      return Money10_30.convertMoney((org.hl7.fhir.dstu3.model.Money) src);
170    if (src instanceof org.hl7.fhir.dstu3.model.SimpleQuantity)
171      return SimpleQuantity10_30.convertSimpleQuantity((org.hl7.fhir.dstu3.model.SimpleQuantity) src);
172    if (src instanceof org.hl7.fhir.dstu3.model.Quantity)
173      return Quantity10_30.convertQuantity((org.hl7.fhir.dstu3.model.Quantity) src);
174    if (src instanceof org.hl7.fhir.dstu3.model.Range)
175      return Range10_30.convertRange((org.hl7.fhir.dstu3.model.Range) src);
176    if (src instanceof org.hl7.fhir.dstu3.model.Ratio)
177      return Ratio10_30.convertRatio((org.hl7.fhir.dstu3.model.Ratio) src);
178    if (src instanceof org.hl7.fhir.dstu3.model.Reference)
179      return Reference10_30.convertReference((org.hl7.fhir.dstu3.model.Reference) src);
180    if (src instanceof org.hl7.fhir.dstu3.model.SampledData)
181      return SampledData10_30.convertSampledData((org.hl7.fhir.dstu3.model.SampledData) src);
182    if (src instanceof org.hl7.fhir.dstu3.model.Signature)
183      return Signature10_30.convertSignature((org.hl7.fhir.dstu3.model.Signature) src);
184    if (src instanceof org.hl7.fhir.dstu3.model.Address)
185      return Address10_30.convertAddress((org.hl7.fhir.dstu3.model.Address) src);
186    if (src instanceof org.hl7.fhir.dstu3.model.ContactPoint)
187      return ContactPoint10_30.convertContactPoint((org.hl7.fhir.dstu3.model.ContactPoint) src);
188    if (src instanceof org.hl7.fhir.dstu3.model.ElementDefinition)
189      return ElementDefinition10_30.convertElementDefinition((org.hl7.fhir.dstu3.model.ElementDefinition) src);
190    if (src instanceof org.hl7.fhir.dstu3.model.HumanName)
191      return HumanName10_30.convertHumanName((org.hl7.fhir.dstu3.model.HumanName) src);
192    if (src instanceof org.hl7.fhir.dstu3.model.Meta) return Meta10_30.convertMeta((org.hl7.fhir.dstu3.model.Meta) src);
193    if (src instanceof org.hl7.fhir.dstu3.model.Timing)
194      return Timing10_30.convertTiming((org.hl7.fhir.dstu3.model.Timing) src);
195    if (advisor.failFastOnNullOrUnknownEntry()) {
196      throw new FHIRException("Unknown type " + src.fhirType());
197    } else {
198      return null;
199    }
200  }
201}