001package org.hl7.fhir.r4.model;
002
003import org.hl7.fhir.instance.model.api.IAnyResource;
004import org.hl7.fhir.instance.model.api.IIdType;
005
006import ca.uhn.fhir.context.FhirVersionEnum;
007import ca.uhn.fhir.model.api.IElement;
008
009public abstract class BaseResource extends Base implements IAnyResource, IElement {
010
011        private static final long serialVersionUID = 1L;
012
013        /**
014     * @param value The logical id of the resource, as used in the url for the resoure. Once assigned, this value never changes.
015     */
016    public BaseResource setId(IIdType value) {
017        if (value == null) {
018                setIdElement((IdType)null);
019        } else if (value instanceof IdType) {
020                setIdElement((IdType) value);
021        } else {
022                setIdElement(new IdType(value.getValue()));
023        }
024        return this;
025    }
026
027        public abstract BaseResource setIdElement(IdType theIdType);
028
029        @Override
030        public FhirVersionEnum getStructureFhirVersionEnum() {
031                return FhirVersionEnum.R4;
032        }
033
034  @Override
035  public boolean isResource() {
036    return true;
037  }
038
039        
040}