
001package org.hl7.fhir.convertors.conv14_30; 002 003import javax.annotation.Nonnull; 004 005import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_30; 006import org.hl7.fhir.convertors.context.ConversionContext14_30; 007import org.hl7.fhir.convertors.conv14_30.datatypes14_30.BackboneElement14_30; 008import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Element14_30; 009import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Type14_30; 010import org.hl7.fhir.convertors.conv14_30.resources14_30.Resource14_30; 011import org.hl7.fhir.dstu2016may.model.CodeableConcept; 012import org.hl7.fhir.exceptions.FHIRException; 013 014/* 015 Copyright (c) 2011+, HL7, Inc. 016 All rights reserved. 017 018 Redistribution and use in source and binary forms, with or without modification, 019 are permitted provided that the following conditions are met: 020 021 * Redistributions of source code must retain the above copyright notice, this 022 list of conditions and the following disclaimer. 023 * Redistributions in binary form must reproduce the above copyright notice, 024 this list of conditions and the following disclaimer in the documentation 025 and/or other materials provided with the distribution. 026 * Neither the name of HL7 nor the names of its contributors may be used to 027 endorse or promote products derived from this software without specific 028 prior written permission. 029 030 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 031 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 032 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 033 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 034 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 035 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 036 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 037 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 038 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 039 POSSIBILITY OF SUCH DAMAGE. 040 */ 041 042public class VersionConvertor_14_30 { 043 044 private final BaseAdvisor_14_30 advisor; 045 private final Element14_30 elementConvertor; 046 047 private final BackboneElement14_30 backboneElementConvertor; 048 private final Resource14_30 resourceConvertor; 049 private final Type14_30 typeConvertor; 050 051 public VersionConvertor_14_30(@Nonnull BaseAdvisor_14_30 advisor) { 052 this.advisor = advisor; 053 this.elementConvertor = new Element14_30(advisor); 054 this.backboneElementConvertor = new BackboneElement14_30(); 055 this.resourceConvertor = new Resource14_30(advisor); 056 this.typeConvertor = new Type14_30(advisor); 057 } 058 059 static public boolean isJurisdiction(@Nonnull CodeableConcept t) { 060 return t.hasCoding() 061 && ("http://unstats.un.org/unsd/methods/m49/m49.htm".equals(t.getCoding().get(0).getSystem()) 062 || "urn:iso:std:iso:3166".equals(t.getCoding().get(0).getSystem()) 063 || "https://www.usps.com/".equals(t.getCoding().get(0).getSystem())); 064 } 065 066 public BaseAdvisor_14_30 advisor() { 067 return advisor; 068 } 069 070 public void copyResource(@Nonnull org.hl7.fhir.dstu2016may.model.Resource src, 071 @Nonnull org.hl7.fhir.dstu3.model.Resource tgt) throws FHIRException { 072 resourceConvertor.copyResource(src, tgt); 073 } 074 075 public void copyResource(@Nonnull org.hl7.fhir.dstu3.model.Resource src, 076 @Nonnull org.hl7.fhir.dstu2016may.model.Resource tgt) throws FHIRException { 077 resourceConvertor.copyResource(src, tgt); 078 } 079 080 public org.hl7.fhir.dstu3.model.Resource convertResource(@Nonnull org.hl7.fhir.dstu2016may.model.Resource src) throws FHIRException { 081 ConversionContext14_30.INSTANCE.init(this, src.fhirType()); 082 try { 083 return resourceConvertor.convertResource(src); 084 } finally { 085 ConversionContext14_30.INSTANCE.close(src.fhirType()); 086 } 087 } 088 089 public org.hl7.fhir.dstu2016may.model.Resource convertResource(@Nonnull org.hl7.fhir.dstu3.model.Resource src) throws FHIRException { 090 ConversionContext14_30.INSTANCE.init(this, src.fhirType()); 091 try { 092 return resourceConvertor.convertResource(src); 093 } finally { 094 ConversionContext14_30.INSTANCE.close(src.fhirType()); 095 } 096 } 097 098 public org.hl7.fhir.dstu3.model.Type convertType(@Nonnull org.hl7.fhir.dstu2016may.model.Type src) throws FHIRException { 099 ConversionContext14_30.INSTANCE.init(this, src.fhirType()); 100 try { 101 return typeConvertor.convertType(src); 102 } finally { 103 ConversionContext14_30.INSTANCE.close(src.fhirType()); 104 } 105 } 106 107 public org.hl7.fhir.dstu2016may.model.Type convertType(@Nonnull org.hl7.fhir.dstu3.model.Type src) throws FHIRException { 108 ConversionContext14_30.INSTANCE.init(this, src.fhirType()); 109 try { 110 return typeConvertor.convertType(src); 111 } finally { 112 ConversionContext14_30.INSTANCE.close(src.fhirType()); 113 } 114 } 115 116 public void copyDomainResource( 117 @Nonnull org.hl7.fhir.dstu2016may.model.DomainResource src, 118 @Nonnull org.hl7.fhir.dstu3.model.DomainResource tgt, 119 String... extensionUrlsToIgnore) throws FHIRException { 120 resourceConvertor.copyDomainResource(src, tgt, extensionUrlsToIgnore); 121 } 122 123 public void copyDomainResource( 124 @Nonnull org.hl7.fhir.dstu3.model.DomainResource src, 125 @Nonnull org.hl7.fhir.dstu2016may.model.DomainResource tgt, 126 String... extensionUrlsToIgnore) throws FHIRException { 127 resourceConvertor.copyDomainResource(src, tgt, extensionUrlsToIgnore); 128 } 129 130 public void copyElement( 131 @Nonnull org.hl7.fhir.dstu2016may.model.Element src, 132 @Nonnull org.hl7.fhir.dstu3.model.Element tgt, 133 String... extensionUrlsToIgnore) throws FHIRException { 134 elementConvertor.copyElement(src, tgt, ConversionContext14_30.INSTANCE.path(), extensionUrlsToIgnore); 135 } 136 137 public void copyElement( 138 @Nonnull org.hl7.fhir.dstu3.model.Element src, 139 @Nonnull org.hl7.fhir.dstu2016may.model.Element tgt, 140 String... extensionUrlsToIgnore) throws FHIRException { 141 elementConvertor.copyElement(src, tgt, ConversionContext14_30.INSTANCE.path(), extensionUrlsToIgnore); 142 } 143 144 public void copyBackboneElement( 145 @Nonnull org.hl7.fhir.dstu2016may.model.BackboneElement src, 146 @Nonnull org.hl7.fhir.dstu3.model.BackboneElement tgt, 147 String... extensionUrlsToIgnore) throws FHIRException { 148 backboneElementConvertor.copyBackboneElement(src, tgt, extensionUrlsToIgnore); 149 } 150 151 public void copyBackboneElement( 152 @Nonnull org.hl7.fhir.dstu3.model.BackboneElement src, 153 @Nonnull org.hl7.fhir.dstu2016may.model.BackboneElement tgt, 154 String... extensionUrlsToIgnore) throws FHIRException { 155 backboneElementConvertor.copyBackboneElement(src, tgt, extensionUrlsToIgnore); 156 } 157}