Class FHIRRestInteractionVisitorReferenceMapping

    • Field Detail

      • transaction

        final boolean transaction
    • Constructor Detail

      • FHIRRestInteractionVisitorReferenceMapping

        public FHIRRestInteractionVisitorReferenceMapping​(boolean transaction,
                                                          FHIRResourceHelpers helpers,
                                                          java.util.Map<java.lang.String,​java.lang.String> localRefMap,
                                                          Bundle.Entry[] responseBundleEntries)
        Public constructor
        Parameters:
        helpers -
    • Method Detail

      • doSearch

        public FHIRRestOperationResponse doSearch​(int entryIndex,
                                                  java.lang.String requestDescription,
                                                  FHIRUrlParser requestURL,
                                                  long accumulatedTime,
                                                  java.lang.String type,
                                                  java.lang.String compartment,
                                                  java.lang.String compartmentId,
                                                  javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> queryParameters,
                                                  java.lang.String requestUri,
                                                  boolean checkInteractionAllowed)
                                           throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs heavy lifting associated with a 'search' operation.
        type - the resource type associated with the search
        compartment - the compartment type to search in, or null if not a compartment search
        compartmentId - the specific compartment to search in, or null if not a compartment search
        queryParameters - a Map containing the query parameters from the request URL
        requestUri - the request URI
        Returns:
        a FHIRRestOperationResponse containing the search result bundle
        Throws:
        java.lang.Exception
      • doVRead

        public FHIRRestOperationResponse doVRead​(int entryIndex,
                                                 java.lang.String requestDescription,
                                                 FHIRUrlParser requestURL,
                                                 long accumulatedTime,
                                                 java.lang.String type,
                                                 java.lang.String id,
                                                 java.lang.String versionId,
                                                 javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> queryParameters)
                                          throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs a 'vread' operation by retrieving the specified version of a Resource with no query parameters
        type - the resource type associated with the Resource to be retrieved
        id - the id of the Resource to be retrieved
        versionId - the version id of the Resource to be retrieved
        Returns:
        the Resource
        Throws:
        java.lang.Exception
      • doRead

        public FHIRRestOperationResponse doRead​(int entryIndex,
                                                java.lang.String requestDescription,
                                                FHIRUrlParser requestURL,
                                                long accumulatedTime,
                                                java.lang.String type,
                                                java.lang.String id,
                                                boolean throwExcOnNull,
                                                javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> queryParameters,
                                                boolean checkInteractionAllowed)
                                         throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs a 'read' operation to retrieve a Resource.
        type - the resource type associated with the Resource to be retrieved
        id - the id of the Resource to be retrieved
        throwExcOnNull - whether to throw an exception on null
        queryParameters - for supporting _elements and _summary for resource read
        checkInteractionAllowed - if true, check that the read interaction is permitted
        Returns:
        a SingleResourceResult wrapping the resource and including its deletion status
        Throws:
        java.lang.Exception
      • doHistory

        public FHIRRestOperationResponse doHistory​(int entryIndex,
                                                   java.lang.String requestDescription,
                                                   FHIRUrlParser requestURL,
                                                   long accumulatedTime,
                                                   java.lang.String type,
                                                   java.lang.String id,
                                                   javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> queryParameters,
                                                   java.lang.String requestUri)
                                            throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs the work of retrieving versions of a Resource.
        type - the resource type associated with the Resource to be retrieved
        id - the id of the Resource to be retrieved
        queryParameters - a Map containing the query parameters from the request URL
        Returns:
        a Bundle containing the history of the specified Resource
        Throws:
        java.lang.Exception
      • doCreate

        public FHIRRestOperationResponse doCreate​(int entryIndex,
                                                  FHIRPersistenceEvent event,
                                                  java.util.List<OperationOutcome.Issue> warnings,
                                                  Bundle.Entry validationResponseEntry,
                                                  java.lang.String requestDescription,
                                                  FHIRUrlParser requestURL,
                                                  long accumulatedTime,
                                                  java.lang.String type,
                                                  Resource resource,
                                                  java.lang.String ifNoneExist,
                                                  java.lang.String localIdentifier,
                                                  PayloadPersistenceResponse offloadResponse)
                                           throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs the heavy lifting associated with a 'create' interaction.
        warnings - the list of warning issues accumulated for this entry
        type - the resource type specified as part of the request URL
        resource - the Resource to be stored.
        ifNoneExist - whether to create the resource if none exists
        offloadResponse - the response from payload persistence when offloading
        Returns:
        a FHIRRestOperationResponse object containing the results of the operation
        Throws:
        java.lang.Exception
      • doUpdate

        public FHIRRestOperationResponse doUpdate​(int entryIndex,
                                                  FHIRPersistenceEvent event,
                                                  Bundle.Entry validationResponseEntry,
                                                  java.lang.String requestDescription,
                                                  FHIRUrlParser requestURL,
                                                  long accumulatedTime,
                                                  java.lang.String type,
                                                  java.lang.String id,
                                                  Resource resource,
                                                  Resource prevResource,
                                                  java.lang.String ifMatchValue,
                                                  java.lang.String searchQueryString,
                                                  boolean skippableUpdate,
                                                  java.lang.String localIdentifier,
                                                  java.util.List<OperationOutcome.Issue> warnings,
                                                  boolean isDeleted,
                                                  java.lang.Integer ifNoneMatch,
                                                  PayloadPersistenceResponse offloadResponse)
                                           throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs an update operation (a new version of the Resource will be stored).
        event - the persistence event used for this resource interaction
        id - the id of the Resource being updated
        resource - the new resource to be stored
        prevResource - the old resource value if we have it
        ifMatchValue - an optional "If-Match" header value to request a version-aware update
        searchQueryString - an optional search query string to request a conditional update
        skippableUpdate - if true, and the resource content in the update matches the existing resource on the server, then skip the update; if false, then always attempt the update
        localIdentifier - if not null, represents the local identifier within the bundle used to support local references
        warnings - the accumulated list of warnings gathered while processing the interaction
        isDeleted - flag to indicate if the resource is currently deleted
        ifNoneMatch - conditional create-on-update
        offloadResponse - the response from payload persistence when offloading
        Returns:
        a FHIRRestOperationResponse that contains the results of the operation
        Throws:
        java.lang.Exception
      • doPatch

        public FHIRRestOperationResponse doPatch​(int entryIndex,
                                                 FHIRPersistenceEvent event,
                                                 Bundle.Entry validationResponseEntry,
                                                 java.lang.String requestDescription,
                                                 FHIRUrlParser requestURL,
                                                 long accumulatedTime,
                                                 java.lang.String type,
                                                 java.lang.String id,
                                                 Resource resource,
                                                 Resource prevResource,
                                                 FHIRPatch patch,
                                                 java.lang.String ifMatchValue,
                                                 java.lang.String searchQueryString,
                                                 boolean skippableUpdate,
                                                 java.util.List<OperationOutcome.Issue> warnings,
                                                 java.lang.String localIdentifier,
                                                 PayloadPersistenceResponse offloadResponse)
                                          throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs a patch operation (a new version of the Resource will be stored).
        event - the persistence event used for this resource interaction
        type - the type of the resource to be updated
        id - the id of the Resource being updated
        resource - the latest value of the resource
        prevResource - the value of the resource before any changes
        patch - the patch to apply
        ifMatchValue - an optional "If-Match" header value to request a version-aware update
        searchQueryString - an optional search query string to request a conditional update
        skippableUpdate - if true, and the result of the patch matches the existing resource on the server, then skip the update; if false, then always attempt the update
        offloadResponse - response from payload persistencen when offloading
        Returns:
        a FHIRRestOperationResponse that contains the results of the operation
        Throws:
        java.lang.Exception
      • doInvoke

        public FHIRRestOperationResponse doInvoke​(java.lang.String method,
                                                  int entryIndex,
                                                  Bundle.Entry validationResponseEntry,
                                                  java.lang.String requestDescription,
                                                  FHIRUrlParser requestURL,
                                                  long accumulatedTime,
                                                  FHIROperationContext operationContext,
                                                  java.lang.String resourceTypeName,
                                                  java.lang.String logicalId,
                                                  java.lang.String versionId,
                                                  Resource resource,
                                                  javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> queryParameters)
                                           throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Helper method which invokes a custom operation.
        operationContext - the FHIROperationContext associated with the request
        resourceTypeName - the resource type associated with the request
        logicalId - the resource logical id associated with the request
        versionId - the resource version id associated with the request
        resource - the input resource associated with the custom operation to be invoked
        queryParameters - query parameters may be passed instead of a Parameters resource for certain custom operations invoked via GET
        Returns:
        a Resource that represents the response to the custom operation
        Throws:
        java.lang.Exception
      • doDelete

        public FHIRRestOperationResponse doDelete​(int entryIndex,
                                                  java.lang.String requestDescription,
                                                  FHIRUrlParser requestURL,
                                                  long accumulatedTime,
                                                  java.lang.String type,
                                                  java.lang.String id,
                                                  java.lang.String searchQueryString)
                                           throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Performs a 'delete' operation on the specified resource.
        type - the resource type associated with the Resource to be deleted
        id - the id of the Resource to be deleted
        Returns:
        a FHIRRestOperationResponse that contains the results of the operation
        Throws:
        java.lang.Exception
      • validationResponse

        public FHIRRestOperationResponse validationResponse​(int entryIndex,
                                                            Bundle.Entry validationResponseEntry,
                                                            java.lang.String requestDescription,
                                                            long accumulatedTime)
                                                     throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Add the given validationResponseEntry to the result bundle
        Returns:
        Throws:
        java.lang.Exception
      • issue

        public FHIRRestOperationResponse issue​(int entryIndex,
                                               java.lang.String requestDescription,
                                               long accumulatedTime,
                                               javax.ws.rs.core.Response.Status status,
                                               Bundle.Entry responseEntry)
                                        throws java.lang.Exception
        Description copied from interface: FHIRRestInteractionVisitor
        Add the issue to the result bundle
        Returns:
        Throws:
        java.lang.Exception