001package org.hl7.fhir.convertors.conv30_40.datatypes30_40;
002
003import org.hl7.fhir.convertors.context.ConversionContext30_40;
004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40;
005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40;
006import org.hl7.fhir.exceptions.FHIRException;
007import org.hl7.fhir.r4.model.RelatedArtifact;
008
009public class RelatedArtifact30_40 {
010  public static org.hl7.fhir.r4.model.RelatedArtifact convertRelatedArtifact(org.hl7.fhir.dstu3.model.RelatedArtifact src) throws FHIRException {
011    if (src == null) return null;
012    org.hl7.fhir.r4.model.RelatedArtifact tgt = new org.hl7.fhir.r4.model.RelatedArtifact();
013    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
014    if (src.hasType()) tgt.setTypeElement(convertRelatedArtifactType(src.getTypeElement()));
015    if (src.hasDisplay()) tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
016    if (src.hasCitation()) tgt.setCitation(src.getCitation());
017    if (src.hasUrl()) tgt.setUrl(src.getUrl());
018    if (src.hasDocument()) tgt.setDocument(Attachment30_40.convertAttachment(src.getDocument()));
019    if (src.hasResource()) tgt.setResourceElement(Reference30_40.convertReferenceToCanonical(src.getResource()));
020    return tgt;
021  }
022
023  public static org.hl7.fhir.dstu3.model.RelatedArtifact convertRelatedArtifact(org.hl7.fhir.r4.model.RelatedArtifact src) throws FHIRException {
024    if (src == null) return null;
025    org.hl7.fhir.dstu3.model.RelatedArtifact tgt = new org.hl7.fhir.dstu3.model.RelatedArtifact();
026    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
027    if (src.hasType()) tgt.setTypeElement(convertRelatedArtifactType(src.getTypeElement()));
028    if (src.hasDisplay()) tgt.setDisplayElement(String30_40.convertString(src.getDisplayElement()));
029    if (src.hasCitation()) tgt.setCitation(src.getCitation());
030    if (src.hasUrl()) tgt.setUrl(src.getUrl());
031    if (src.hasDocument()) tgt.setDocument(Attachment30_40.convertAttachment(src.getDocument()));
032    if (src.hasResource()) tgt.setResource(Reference30_40.convertCanonicalToReference(src.getResourceElement()));
033    return tgt;
034  }
035
036  static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.RelatedArtifact.RelatedArtifactType> convertRelatedArtifactType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType> src) throws FHIRException {
037    if (src == null || src.isEmpty()) return null;
038    org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.RelatedArtifact.RelatedArtifactType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.RelatedArtifact.RelatedArtifactTypeEnumFactory());
039    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
040    if (src.getValue() == null) {
041    tgt.setValue(null);
042} else {
043      switch(src.getValue()) {
044        case DOCUMENTATION:
045            tgt.setValue(RelatedArtifact.RelatedArtifactType.DOCUMENTATION);
046            break;
047          case JUSTIFICATION:
048            tgt.setValue(RelatedArtifact.RelatedArtifactType.JUSTIFICATION);
049            break;
050          case CITATION:
051            tgt.setValue(RelatedArtifact.RelatedArtifactType.CITATION);
052            break;
053          case PREDECESSOR:
054            tgt.setValue(RelatedArtifact.RelatedArtifactType.PREDECESSOR);
055            break;
056          case SUCCESSOR:
057            tgt.setValue(RelatedArtifact.RelatedArtifactType.SUCCESSOR);
058            break;
059          case DERIVEDFROM:
060            tgt.setValue(RelatedArtifact.RelatedArtifactType.DERIVEDFROM);
061            break;
062          case DEPENDSON:
063            tgt.setValue(RelatedArtifact.RelatedArtifactType.DEPENDSON);
064            break;
065          case COMPOSEDOF:
066            tgt.setValue(RelatedArtifact.RelatedArtifactType.COMPOSEDOF);
067            break;
068          default:
069            tgt.setValue(RelatedArtifact.RelatedArtifactType.NULL);
070            break;
071       }
072}
073    return tgt;
074  }
075
076  static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType> convertRelatedArtifactType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.RelatedArtifact.RelatedArtifactType> src) throws FHIRException {
077    if (src == null || src.isEmpty()) return null;
078    org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactTypeEnumFactory());
079    ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt);
080    if (src.getValue() == null) {
081    tgt.setValue(null);
082} else {
083      switch(src.getValue()) {
084        case DOCUMENTATION:
085            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.DOCUMENTATION);
086            break;
087          case JUSTIFICATION:
088            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.JUSTIFICATION);
089            break;
090          case CITATION:
091            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.CITATION);
092            break;
093          case PREDECESSOR:
094            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.PREDECESSOR);
095            break;
096          case SUCCESSOR:
097            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.SUCCESSOR);
098            break;
099          case DERIVEDFROM:
100            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.DERIVEDFROM);
101            break;
102          case DEPENDSON:
103            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.DEPENDSON);
104            break;
105          case COMPOSEDOF:
106            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.COMPOSEDOF);
107            break;
108          default:
109            tgt.setValue(org.hl7.fhir.dstu3.model.RelatedArtifact.RelatedArtifactType.NULL);
110            break;
111       }
112}
113    return tgt;
114  }
115}