Class FHIRRequestContext


  • public class FHIRRequestContext
    extends java.lang.Object
    This class is used to hold FHIR REST API context information. There are non-static methods for maintaining individual instances, as well as static methods for setting instances on and getting instances from thread local. The overall strategy is for the REST API servlet filter to retrieve the request context information, create an instance of this class and set it on the current thread for use by the FHIR Server as it processes the request.
    • Constructor Detail

      • FHIRRequestContext

        public FHIRRequestContext()
      • FHIRRequestContext

        public FHIRRequestContext​(java.lang.String tenantId,
                                  java.lang.String dataStoreId)
                           throws FHIRException
        Throws:
        FHIRException
    • Method Detail

      • getTenantId

        public java.lang.String getTenantId()
      • isReadOnly

        public boolean isReadOnly()
        Returns true iff the entire request can be processed using only reads in the persistence layer Permits persistence layer implementations to leverage read-only replicas if they are available
        Returns:
      • setReadOnly

        public void setReadOnly​(boolean flag)
        Setter for the readOnly flag
        Parameters:
        flag -
      • isBulk

        public boolean isBulk()
        the status of the FHIR request
        Returns:
        the status of the FHIRRequest indicating bulk
      • setBulk

        public void setBulk​(boolean bulk)
        set the bulk status
        Parameters:
        bulk -
      • getDataStoreId

        public java.lang.String getDataStoreId()
      • setExtendedOperationProperties

        public void setExtendedOperationProperties​(java.lang.String name,
                                                   java.lang.Object value)
        set an Operation Context property
        Parameters:
        name -
        value -
      • getExtendedOperationProperties

        public java.lang.Object getExtendedOperationProperties​(java.lang.String name)
        get an extended Operation Context property
        Parameters:
        name -
        Returns:
      • set

        public static void set​(FHIRRequestContext context)
        Sets the specified FHIRRequestContext instance on the current thread, so that it can be used by FHIR Server downstream processing. This method is called when the FHIR Server starts processing a request.
      • get

        public static FHIRRequestContext get()
        Returns the FHIRRequestContext on the current thread. If it doesn't exist yet, this method will create a default instance and associate that with the current thread before returning it.
      • remove

        public static void remove()
        Removes the FHIRRequestContext that's set on the current thread. This method is called when the FHIR Server is finished processing a request.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getRequestUniqueId

        public java.lang.String getRequestUniqueId()
      • getHandlingPreference

        public HTTPHandlingPreference getHandlingPreference()
        Returns:
        the handlingPreference
      • setHandlingPreference

        public void setHandlingPreference​(HTTPHandlingPreference handlingPreference)
        Parameters:
        handlingPreference - the handlingPreference to set
      • getReturnPreference

        public HTTPReturnPreference getReturnPreference()
        Returns:
        the returnPreference
      • setReturnPreference

        public void setReturnPreference​(HTTPReturnPreference returnPreference)
        Parameters:
        returnPreference - the returnPreference to set
      • getOriginalRequestUri

        public java.lang.String getOriginalRequestUri()
        Returns:
        the originalRequestUri
      • setOriginalRequestUri

        public void setOriginalRequestUri​(java.lang.String originalRequestUri)
        Parameters:
        originalRequestUri - the originalRequestUri to set
      • getHttpHeaders

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHttpHeaders()
        Returns:
        the httpHeaders
      • setHttpHeaders

        public void setHttpHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> httpHeaders)
        Parameters:
        httpHeaders - the httpHeaders to set
      • isReturnPreferenceDefault

        public boolean isReturnPreferenceDefault()
        Returns:
        the returnPreferenceIsDefault
      • setReturnPreferenceDefault

        public void setReturnPreferenceDefault​(boolean returnPreferenceIsDefault)
        Parameters:
        returnPreferenceIsDefault - the returnPreferenceIsDefault to set