001package org.hl7.fhir.r4.model; 002 003import org.hl7.fhir.instance.model.api.IBaseDatatype; 004import org.hl7.fhir.instance.model.api.IBaseExtension; 005import org.hl7.fhir.instance.model.api.IBaseHasExtensions; 006import org.hl7.fhir.instance.model.api.IPrimitiveType; 007 008public abstract class BaseExtension extends Type implements IBaseExtension<Extension, Type>, IBaseHasExtensions { 009 010 private static final long serialVersionUID = 1L; 011 012 013 @Override 014 public Extension setValue(IBaseDatatype theValue) { 015 setValue((Type)theValue); 016 return (Extension) this; 017 } 018 019 public abstract Extension setValue(Type theValue); 020 021 022 /** 023 * Returns the value of this extension cast as a {@link IPrimitiveType}. This method is just a convenience method for easy chaining. 024 */ 025 public IPrimitiveType<?> getValueAsPrimitive() { 026 return (IPrimitiveType<?>)getValue(); 027 } 028 029 030}