001package org.hl7.fhir.convertors.conv30_50.datatypes30_50;
002
003import org.hl7.fhir.convertors.context.ConversionContext30_50;
004import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50;
005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50;
006import org.hl7.fhir.exceptions.FHIRException;
007import org.hl7.fhir.r5.model.RelatedArtifact;
008
009public class RelatedArtifact30_50 {
010  public static org.hl7.fhir.r5.model.RelatedArtifact convertRelatedArtifact(org.hl7.fhir.dstu3.model.RelatedArtifact src) throws FHIRException {
011    if (src == null) return null;
012    org.hl7.fhir.r5.model.RelatedArtifact tgt = new org.hl7.fhir.r5.model.RelatedArtifact();
013    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
014    if (src.hasType()) tgt.setTypeElement(convertRelatedArtifactType(src.getTypeElement()));
015    if (src.hasDisplay()) tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement()));
016    if (src.hasCitation()) tgt.setCitation(src.getCitation());
017    if (src.hasUrl()) tgt.getDocument().setUrl(src.getUrl());
018    if (src.hasDocument()) tgt.setDocument(Attachment30_50.convertAttachment(src.getDocument()));
019    if (src.hasResource()) tgt.setResourceElement(Reference30_50.convertReferenceToCanonical(src.getResource()));
020    return tgt;
021  }
022
023  public static org.hl7.fhir.dstu3.model.RelatedArtifact convertRelatedArtifact(org.hl7.fhir.r5.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_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt);
027    if (src.hasType()) tgt.setTypeElement(convertRelatedArtifactType(src.getTypeElement()));
028    if (src.hasDisplay()) tgt.setDisplayElement(String30_50.convertString(src.getDisplayElement()));
029    if (src.hasCitation()) tgt.setCitation(src.getCitation());
030    if (src.getDocument().hasUrl()) tgt.setUrl(src.getDocument().getUrl());
031    if (src.hasDocument()) tgt.setDocument(Attachment30_50.convertAttachment(src.getDocument()));
032    if (src.hasResource()) tgt.setResource(Reference30_50.convertCanonicalToReference(src.getResourceElement()));
033    return tgt;
034  }
035
036  static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.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.r5.model.Enumeration<org.hl7.fhir.r5.model.RelatedArtifact.RelatedArtifactType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.RelatedArtifact.RelatedArtifactTypeEnumFactory());
039    ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().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.r5.model.Enumeration<org.hl7.fhir.r5.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_50.INSTANCE.getVersionConvertor_30_50().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}