
Enum Pointcut
- java.lang.Object
-
- java.lang.Enum<Pointcut>
-
- ca.uhn.fhir.interceptor.api.Pointcut
-
- All Implemented Interfaces:
IPointcut
,Serializable
,Comparable<Pointcut>
public enum Pointcut extends Enum<Pointcut> implements IPointcut
Value forHook.value()
Hook pointcuts are divided into several broad categories:
- INTERCEPTOR_xxx: Hooks on the interceptor infrastructure itself
- CLIENT_xxx: Hooks on the HAPI FHIR Client framework
- SERVER_xxx: Hooks on the HAPI FHIR Server framework
- SUBSCRIPTION_xxx: Hooks on the HAPI FHIR Subscription framework
- STORAGE_xxx: Hooks on the storage engine
- JPA_PERFTRACE_xxx: Performance tracing hooks on the JPA server
-
-
Enum Constant Summary
Enum Constants Enum Constant Description CLIENT_REQUEST
Client Hook: This hook is called before an HTTP client request is sentCLIENT_RESPONSE
Client Hook: This hook is called after an HTTP client request has completed, prior to returning the results to the calling code.INTERCEPTOR_REGISTERED
Interceptor Framework Hook: This pointcut will be called once when a given interceptor is registeredJPA_PERFTRACE_INDEXSEARCH_QUERY_COMPLETE
Performance Tracing Hook: This hook is invoked when a query involving an external index (e.g.JPA_PERFTRACE_INFO
Performance Tracing Hook: This hook is invoked when any informational messages generated by the SearchCoordinator are created.JPA_PERFTRACE_RAW_SQL
Performance Tracing Hook: This hook is invoked when a query has executed, and includes the raw SQL statements that were executed against the database.JPA_PERFTRACE_SEARCH_COMPLETE
Performance Tracing Hook: This hook is invoked when a search has failed for any reason.JPA_PERFTRACE_SEARCH_FAILED
Performance Tracing Hook: This hook is invoked when a search has failed for any reason.JPA_PERFTRACE_SEARCH_FIRST_RESULT_LOADED
Performance Tracing Hook: This hook is invoked when a search has returned the very first result from the database.JPA_PERFTRACE_SEARCH_FOUND_ID
Performance Tracing Hook:JPA_PERFTRACE_SEARCH_PASS_COMPLETE
Performance Tracing Hook: This hook is invoked when a search has completed.JPA_PERFTRACE_SEARCH_REUSING_CACHED
Performance Tracing Hook: Invoked when the storage engine is about to reuse the results of a previously cached search.JPA_PERFTRACE_SEARCH_SELECT_COMPLETE
Performance Tracing Hook: This hook is invoked when an individual search query SQL SELECT statement has completed and no more results are available from that query.JPA_PERFTRACE_WARNING
Performance Tracing Hook: This hook is invoked when any warning messages generated by the SearchCoordinator are created.MDM_AFTER_PERSISTED_RESOURCE_CHECKED
MDM(EMPI) Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) has been matched against related resources and MDM links have been updated.SERVER_CAPABILITY_STATEMENT_GENERATED
Server Hook: This hook is called when a server CapabilityStatement is generated for returning to a client.SERVER_HANDLE_EXCEPTION
Server Hook: This hook is invoked upon any exception being thrown within the server's request processing code.SERVER_INCOMING_REQUEST_POST_PROCESSED
Server Hook: This method is called just before the actual implementing server method is invoked.SERVER_INCOMING_REQUEST_PRE_HANDLED
Server Hook: This hook is invoked before an incoming request is processed.SERVER_INCOMING_REQUEST_PRE_PROCESSED
Server Hook: This hook is called before any other processing takes place for each incoming request.SERVER_OUTGOING_FAILURE_OPERATIONOUTCOME
Server Hook: This method is called when an OperationOutcome is being returned in response to a failure.SERVER_OUTGOING_GRAPHQL_RESPONSE
Server Hook: This method is called after the server implementation method has been called, but before any attempt to stream the response back to the client, specifically for GraphQL requests (as these do not fit cleanly into the model provided bySERVER_OUTGOING_RESPONSE
).SERVER_OUTGOING_RESPONSE
Server Hook: This method is called after the server implementation method has been called, but before any attempt to stream the response back to the client.SERVER_OUTGOING_WRITER_CREATED
Server Hook: This method is called when a stream writer is generated that will be used to stream a non-binary response to a client.SERVER_PRE_PROCESS_OUTGOING_EXCEPTION
Server Hook: This method is called upon any exception being thrown within the server's request processing code.SERVER_PROCESSING_COMPLETED
Server Hook: This method is called after all processing is completed for a request, regardless of whether the request completed successfully or not.SERVER_PROCESSING_COMPLETED_NORMALLY
Server Hook: This method is called after all processing is completed for a request, but only if the request completes normally (i.e.STORAGE_CASCADE_DELETE
Storage Hook: Invoked when a resource is being deleted in a cascaded delete.STORAGE_PARTITION_IDENTIFY_CREATE
Storage Hook: Invoked before FHIR create operation to request the identification of the partition ID to be associated with the resource being created.STORAGE_PARTITION_IDENTIFY_READ
Storage Hook: Invoked before FHIR read/access operation (e.g.STORAGE_PARTITION_SELECTED
Storage Hook: Invoked before any partition aware FHIR operation, when the selected partition has been identified (ie.STORAGE_PRE_DELETE_EXPUNGE
Storage Hook: Invoked when a set of resources are about to be deleted and expunged via url like http://localhost/Patient?active=false&_expunge=trueSTORAGE_PRE_DELETE_EXPUNGE_PID_LIST
Storage Hook: Invoked when a batch of resource pids are about to be deleted and expunged via url like http://localhost/Patient?active=false&_expunge=trueSTORAGE_PREACCESS_RESOURCES
Storage Hook: Invoked when one or more resources may be returned to the user, whether as a part of a READ, a SEARCH, or even as the response to a CREATE/UPDATE, etc.STORAGE_PRECHECK_FOR_CACHED_SEARCH
Storage Hook: Invoked when the storage engine is about to check for the existence of a pre-cached search whose results match the given search parameters.STORAGE_PRECOMMIT_RESOURCE_CREATED
Storage Hook: Invoked before a resource will be created, immediately before the transaction is committed (after all validation and other business rules have successfully completed, and any other database activity is complete.STORAGE_PRECOMMIT_RESOURCE_DELETED
Storage Hook: Invoked before a resource will be deletedSTORAGE_PRECOMMIT_RESOURCE_UPDATED
Storage Hook: Invoked before a resource will be updated, immediately before the transaction is committed (after all validation and other business rules have successfully completed, and any other database activity is complete.STORAGE_PRESEARCH_REGISTERED
Storage Hook: Invoked when a search is starting, prior to creating a record for the search.STORAGE_PRESHOW_RESOURCES
Storage Hook: Invoked when one or more resources may be returned to the user, whether as a part of a READ, a SEARCH, or even as the response to a CREATE/UPDATE, etc.STORAGE_PRESTORAGE_DELETE_CONFLICTS
Storage Hook: Invoked when a resource delete operation is about to fail due to referential integrity checks.STORAGE_PRESTORAGE_EXPUNGE_EVERYTHING
Storage Hook: Invoked before an$expunge
operation on all data (expungeEverything) is called.STORAGE_PRESTORAGE_EXPUNGE_RESOURCE
Storage Hook: Invoked before a resource is about to be expunged via the$expunge
operation.STORAGE_PRESTORAGE_RESOURCE_CREATED
Storage Hook: Invoked before a resource will be created, immediately before the resource is persisted to the database.STORAGE_PRESTORAGE_RESOURCE_DELETED
Storage Hook: Invoked before a resource will be created, immediately before the resource is persisted to the database.STORAGE_PRESTORAGE_RESOURCE_UPDATED
Storage Hook: Invoked before a resource will be updated, immediately before the resource is persisted to the database.STORAGE_VERSION_CONFLICT
Storage Hook: Invoked when a transaction has been rolled back as a result of aResourceVersionConflictException
, meaning that a database constraint has been violated.SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_REGISTERED
Subscription Hook: Invoked immediately after an active subscription is "registered".SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_UNREGISTERED
Subscription Hook: Invoked immediately after an active subscription is "registered".SUBSCRIPTION_AFTER_DELIVERY
Subscription Hook: Invoked immediately after the delivery of a subscription, and right before any channel-specific hooks are invoked (e.g.SUBSCRIPTION_AFTER_DELIVERY_FAILED
Subscription Hook: Invoked immediately after the attempted delivery of a subscription, if the delivery failed.SUBSCRIPTION_AFTER_MESSAGE_DELIVERY
Subscription Hook: Invoked immediately after the delivery of MESSAGE subscription.SUBSCRIPTION_AFTER_PERSISTED_RESOURCE_CHECKED
Subscription Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) has been checked for whether any subscriptions were triggered as a result of the operation.SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY
Subscription Hook: Invoked immediately after the delivery of a REST HOOK subscription.SUBSCRIPTION_BEFORE_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a subscription, and right before any channel-specific hooks are invoked (e.g.SUBSCRIPTION_BEFORE_MESSAGE_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a MESSAGE subscription.SUBSCRIPTION_BEFORE_PERSISTED_RESOURCE_CHECKED
Subscription Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) is about to be checked for whether any subscriptions were triggered as a result of the operation.SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a REST HOOK subscription.SUBSCRIPTION_RESOURCE_DID_NOT_MATCH_ANY_SUBSCRIPTIONS
Subscription Hook: Invoked whenever a persisted resource was checked against all active subscriptions, and did not match any.SUBSCRIPTION_RESOURCE_MATCHED
Subscription Hook: Invoked any time that a resource is matched by an individual subscription, and is about to be queued for delivery.SUBSCRIPTION_RESOURCE_MODIFIED
Subscription Hook: Invoked whenever a persisted resource has been modified and is being submitted to the subscription processing pipeline.TEST_RB
This pointcut is used only for unit tests.TEST_RO
This pointcut is used only for unit tests.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<String>
getParameterTypes()
Class<?>
getReturnType()
boolean
isShouldLogAndSwallowException(Throwable theException)
static Pointcut
valueOf(String name)
Returns the enum constant of this type with the specified name.static Pointcut[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
INTERCEPTOR_REGISTERED
public static final Pointcut INTERCEPTOR_REGISTERED
Interceptor Framework Hook: This pointcut will be called once when a given interceptor is registered
-
CLIENT_REQUEST
public static final Pointcut CLIENT_REQUEST
Client Hook: This hook is called before an HTTP client request is sentHooks may accept the following parameters:
- ca.uhn.fhir.rest.client.api.IHttpRequest - The details of the request
- ca.uhn.fhir.rest.client.api.IRestfulClient - The client object making the request
void
.
-
CLIENT_RESPONSE
public static final Pointcut CLIENT_RESPONSE
Client Hook: This hook is called after an HTTP client request has completed, prior to returning the results to the calling code. Hook methods may modify the response.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.client.api.IHttpRequest - The details of the request
- ca.uhn.fhir.rest.client.api.IHttpResponse - The details of the response
- ca.uhn.fhir.rest.client.api.IRestfulClient - The client object making the request
void
.
-
SERVER_CAPABILITY_STATEMENT_GENERATED
public static final Pointcut SERVER_CAPABILITY_STATEMENT_GENERATED
Server Hook: This hook is called when a server CapabilityStatement is generated for returning to a client.This pointcut will not necessarily be invoked for every client request to the `/metadata` endpoint. If caching of the generated CapabilityStatement is enabled, a new CapabilityStatement will be generated periodically and this pointcut will be invoked at that time.
Hooks may accept the following parameters:
-
org.hl7.fhir.instance.model.api.IBaseConformance - The
CapabilityStatement
resource that will be returned to the client by the server. Interceptors may make changes to this resource. The parameter must be of typeIBaseConformance
, so it is the responsibility of the interceptor hook method code to cast to the appropriate version. - ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
CapabilityStatement
resource which will replace the one that was supplied to the interceptor, orvoid
to use the original one. If the interceptor chooses to modify theCapabilityStatement
that was supplied to the interceptor, it is fine for your hook method to returnvoid
ornull
. -
org.hl7.fhir.instance.model.api.IBaseConformance - The
-
SERVER_INCOMING_REQUEST_PRE_PROCESSED
public static final Pointcut SERVER_INCOMING_REQUEST_PRE_PROCESSED
Server Hook: This hook is called before any other processing takes place for each incoming request. It may be used to provide alternate handling for some requests, or to screen requests before they are handled, etc.Note that any exceptions thrown by this method will not be trapped by HAPI (they will be passed up to the server)
Hooks may accept the following parameters:
- javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
true
orvoid
if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the response normally, you must returnfalse
. In this case, no further processing will occur and no further interceptors will be called.
-
SERVER_HANDLE_EXCEPTION
public static final Pointcut SERVER_HANDLE_EXCEPTION
Server Hook: This hook is invoked upon any exception being thrown within the server's request processing code. This includes any exceptions thrown within resource provider methods (e.g.Search
andRead
methods) as well as any runtime exceptions thrown by the server itself. This also includes anyAuthenticationException
thrown.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
- ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException - The exception that was thrown
Implementations of this method may choose to ignore/log/count/etc exceptions, and return
true
orvoid
. In this case, processing will continue, and the server will automatically generate anOperationOutcome
. Implementations may also choose to provide their own response to the client. In this case, they should returnfalse
, to indicate that they have handled the request and processing should stop.
-
SERVER_INCOMING_REQUEST_POST_PROCESSED
public static final Pointcut SERVER_INCOMING_REQUEST_POST_PROCESSED
Server Hook: This method is called just before the actual implementing server method is invoked.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
Hook methods may return
true
orvoid
if processing should continue normally. This is generally the right thing to do. If your interceptor is providing an HTTP response rather than letting HAPI handle the response normally, you must returnfalse
. In this case, no further processing will occur and no further interceptors will be called.Hook methods may also throw
AuthenticationException
if they would like. This exception may be thrown to indicate that the interceptor has detected an unauthorized access attempt. If thrown, processing will stop and an HTTP 401 will be returned to the client.
-
SERVER_INCOMING_REQUEST_PRE_HANDLED
public static final Pointcut SERVER_INCOMING_REQUEST_PRE_HANDLED
Server Hook: This hook is invoked before an incoming request is processed. Note that this method is called after the server has begun preparing the response to the incoming client request. As such, it is not able to supply a response to the incoming request in the way that SERVER_INCOMING_REQUEST_PRE_PROCESSED andSERVER_INCOMING_REQUEST_POST_PROCESSED
are.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.RestOperationTypeEnum - The type of operation that the FHIR server has determined that the client is trying to invoke
- ca.uhn.fhir.rest.server.interceptor.IServerInterceptor.ActionRequestDetails - This parameter is provided for legacy reasons only and will be removed in the future. Do not use.
Hook methods must return
void
Hook methods method may throw a subclass of
BaseServerResponseException
, and processing will be aborted with an appropriate error returned to the client.
-
SERVER_PRE_PROCESS_OUTGOING_EXCEPTION
public static final Pointcut SERVER_PRE_PROCESS_OUTGOING_EXCEPTION
Server Hook: This method is called upon any exception being thrown within the server's request processing code. This includes any exceptions thrown within resource provider methods (e.g.Search
andRead
methods) as well as any runtime exceptions thrown by the server itself. This hook method is invoked for each interceptor (until one of them returns a non-null
response or the end of the list is reached), after whichSERVER_HANDLE_EXCEPTION
is called for each interceptor.This may be used to add an OperationOutcome to a response, or to convert between exception types for any reason.
Implementations of this method may choose to ignore/log/count/etc exceptions, and return
null
. In this case, processing will continue, and the server will automatically generate anOperationOutcome
. Implementations may also choose to provide their own response to the client. In this case, they should return a non-null
, to indicate that they have handled the request and processing should stop.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
-
java.lang.Throwable - The exception that was thrown. This will often be an instance of
BaseServerResponseException
but will not necessarily be one (e.g. it could be aNullPointerException
in the case of a bug being triggered. - javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
Hook methods may return a new exception to use for processing, or
null
if this interceptor is not trying to modify the exception. For example, if this interceptor has nothing to do with exception processing, it should always returnnull
. If this interceptor adds an OperationOutcome to the exception, it should return an exception.
-
SERVER_OUTGOING_RESPONSE
public static final Pointcut SERVER_OUTGOING_RESPONSE
Server Hook: This method is called after the server implementation method has been called, but before any attempt to stream the response back to the client. Interceptors may examine or modify the response before it is returned, or even prevent the response.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
-
org.hl7.fhir.instance.model.api.IBaseResource - The resource that will be returned. This parameter may be
null
for some responses. - ca.uhn.fhir.rest.api.server.ResponseDetails - This object contains details about the response, including the contents. Hook methods may modify this object to change or replace the response.
- javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
Hook methods may return
true
orvoid
if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the response normally, you must returnfalse
. In this case, no further processing will occur and no further interceptors will be called.Hook methods may also throw
AuthenticationException
to indicate that the interceptor has detected an unauthorized access attempt. If thrown, processing will stop and an HTTP 401 will be returned to the client.
-
SERVER_OUTGOING_WRITER_CREATED
public static final Pointcut SERVER_OUTGOING_WRITER_CREATED
Server Hook: This method is called when a stream writer is generated that will be used to stream a non-binary response to a client. Hooks may return a wrapped writer which adds additional functionality as needed.Hooks may accept the following parameters:
- java.io.Writer - The response writing Writer. Typically a hook will wrap this writer and layer additional functionality into the wrapping writer.
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hook methods should return a
Writer
instance that will be used to stream the response. Hook methods should not throw any exception.- Since:
- 5.0.0
-
SERVER_OUTGOING_GRAPHQL_RESPONSE
public static final Pointcut SERVER_OUTGOING_GRAPHQL_RESPONSE
Server Hook: This method is called after the server implementation method has been called, but before any attempt to stream the response back to the client, specifically for GraphQL requests (as these do not fit cleanly into the model provided bySERVER_OUTGOING_RESPONSE
).Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- java.lang.String - The GraphQL query
- java.lang.String - The GraphQL response
- javax.servlet.http.HttpServletRequest - The servlet request, when running in a servlet environment
- javax.servlet.http.HttpServletResponse - The servlet response, when running in a servlet environment
Hook methods may return
true
orvoid
if processing should continue normally. This is generally the right thing to do. If your interceptor is providing a response rather than letting HAPI handle the response normally, you must returnfalse
. In this case, no further processing will occur and no further interceptors will be called.Hook methods may also throw
AuthenticationException
to indicate that the interceptor has detected an unauthorized access attempt. If thrown, processing will stop and an HTTP 401 will be returned to the client.
-
SERVER_OUTGOING_FAILURE_OPERATIONOUTCOME
public static final Pointcut SERVER_OUTGOING_FAILURE_OPERATIONOUTCOME
Server Hook: This method is called when an OperationOutcome is being returned in response to a failure. Hook methods may use this hook to modify the OperationOutcome being returned.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- org.hl7.fhir.instance.model.api.IBaseOperationOutcome - The OperationOutcome resource that will be returned.
Hook methods must return
void
-
SERVER_PROCESSING_COMPLETED_NORMALLY
public static final Pointcut SERVER_PROCESSING_COMPLETED_NORMALLY
Server Hook: This method is called after all processing is completed for a request, but only if the request completes normally (i.e. no exception is thrown).Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the request. This will be null if the server is not deployed to a RestfulServer environment.
This method must return
void
This method should not throw any exceptions. Any exception that is thrown by this method will be logged, but otherwise not acted upon (i.e. even if a hook method throws an exception, processing will continue and other interceptors will be called). Therefore it is considered a bug to throw an exception from hook methods using this pointcut.
-
SERVER_PROCESSING_COMPLETED
public static final Pointcut SERVER_PROCESSING_COMPLETED
Server Hook: This method is called after all processing is completed for a request, regardless of whether the request completed successfully or not. It is called afterSERVER_PROCESSING_COMPLETED_NORMALLY
in the case of successful operations.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the request. This will be null if the server is not deployed to a RestfulServer environment.
This method must return
void
This method should not throw any exceptions. Any exception that is thrown by this method will be logged, but otherwise not acted upon (i.e. even if a hook method throws an exception, processing will continue and other interceptors will be called). Therefore it is considered a bug to throw an exception from hook methods using this pointcut.
-
SUBSCRIPTION_RESOURCE_MODIFIED
public static final Pointcut SUBSCRIPTION_RESOURCE_MODIFIED
Subscription Hook: Invoked whenever a persisted resource has been modified and is being submitted to the subscription processing pipeline. This method is called before the resource is placed on any queues for processing and executes synchronously during the resource modification operation itself, so it should return quickly.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage - Hooks may modify this parameter. This will affect the checking process.
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, subscription processing will not proceed for the given resource;
-
SUBSCRIPTION_RESOURCE_MATCHED
public static final Pointcut SUBSCRIPTION_RESOURCE_MATCHED
Subscription Hook: Invoked any time that a resource is matched by an individual subscription, and is about to be queued for delivery.Hooks may make changes to the delivery payload, or make changes to the canonical subscription such as adding headers, modifying the channel endpoint, etc.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
- ca.uhn.fhir.jpa.searchparam.matcher.InMemoryMatchResult
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, delivery will be aborted.
-
SUBSCRIPTION_RESOURCE_DID_NOT_MATCH_ANY_SUBSCRIPTIONS
public static final Pointcut SUBSCRIPTION_RESOURCE_DID_NOT_MATCH_ANY_SUBSCRIPTIONS
Subscription Hook: Invoked whenever a persisted resource was checked against all active subscriptions, and did not match any.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage - Hooks should not modify this parameter as changes will not have any effect.
Hooks should return
void
.
-
SUBSCRIPTION_BEFORE_DELIVERY
public static final Pointcut SUBSCRIPTION_BEFORE_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a subscription, and right before any channel-specific hooks are invoked (e.g.SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY
.Hooks may make changes to the delivery payload, or make changes to the canonical subscription such as adding headers, modifying the channel endpoint, etc.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, processing will be aborted.
-
SUBSCRIPTION_AFTER_DELIVERY
public static final Pointcut SUBSCRIPTION_AFTER_DELIVERY
Subscription Hook: Invoked immediately after the delivery of a subscription, and right before any channel-specific hooks are invoked (e.g.SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY
.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks should return
void
.
-
SUBSCRIPTION_AFTER_DELIVERY_FAILED
public static final Pointcut SUBSCRIPTION_AFTER_DELIVERY_FAILED
Subscription Hook: Invoked immediately after the attempted delivery of a subscription, if the delivery failed.Hooks may accept the following parameters:
- java.lang.Exception - The exception that caused the failure. Note this could be an exception thrown by a SUBSCRIPTION_BEFORE_DELIVERY or SUBSCRIPTION_AFTER_DELIVERY interceptor
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage - the message that triggered the exception
- java.lang.Exception
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally, meaning that an exception will be thrown by the delivery mechanism. This typically means that the message will be returned to the processing queue. If the method returnsfalse
, processing will be aborted and no further action will be taken for the delivery.
-
SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY
public static final Pointcut SUBSCRIPTION_AFTER_REST_HOOK_DELIVERY
Subscription Hook: Invoked immediately after the delivery of a REST HOOK subscription.When this hook is called, all processing is complete so this hook should not make any changes to the parameters.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks should return
void
.
-
SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY
public static final Pointcut SUBSCRIPTION_BEFORE_REST_HOOK_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a REST HOOK subscription.Hooks may make changes to the delivery payload, or make changes to the canonical subscription such as adding headers, modifying the channel endpoint, etc.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, processing will be aborted.
-
SUBSCRIPTION_AFTER_MESSAGE_DELIVERY
public static final Pointcut SUBSCRIPTION_AFTER_MESSAGE_DELIVERY
Subscription Hook: Invoked immediately after the delivery of MESSAGE subscription.When this hook is called, all processing is complete so this hook should not make any changes to the parameters.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks should return
void
.
-
SUBSCRIPTION_BEFORE_MESSAGE_DELIVERY
public static final Pointcut SUBSCRIPTION_BEFORE_MESSAGE_DELIVERY
Subscription Hook: Invoked immediately before the delivery of a MESSAGE subscription.Hooks may make changes to the delivery payload, or make changes to the canonical subscription such as adding headers, modifying the channel endpoint, etc.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
- ca.uhn.fhir.jpa.subscription.model.ResourceDeliveryMessage
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, processing will be aborted.
-
SUBSCRIPTION_BEFORE_PERSISTED_RESOURCE_CHECKED
public static final Pointcut SUBSCRIPTION_BEFORE_PERSISTED_RESOURCE_CHECKED
Subscription Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) is about to be checked for whether any subscriptions were triggered as a result of the operation.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage - Hooks may modify this parameter. This will affect the checking process.
Hooks may return
void
or may return aboolean
. If the method returnsvoid
ortrue
, processing will continue normally. If the method returnsfalse
, processing will be aborted.
-
SUBSCRIPTION_AFTER_PERSISTED_RESOURCE_CHECKED
public static final Pointcut SUBSCRIPTION_AFTER_PERSISTED_RESOURCE_CHECKED
Subscription Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) has been checked for whether any subscriptions were triggered as a result of the operation.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage - This parameter should not be modified as processing is complete when this hook is invoked.
Hooks should return
void
.
-
SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_REGISTERED
public static final Pointcut SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_REGISTERED
Subscription Hook: Invoked immediately after an active subscription is "registered". In HAPI FHIR, when a subscriptionHooks may make changes to the canonicalized subscription and this will have an effect on processing across this server. Note however that timing issues may occur, since the subscription is already technically live by the time this hook is called.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription
Hooks should return
void
.
-
SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_UNREGISTERED
public static final Pointcut SUBSCRIPTION_AFTER_ACTIVE_SUBSCRIPTION_UNREGISTERED
Subscription Hook: Invoked immediately after an active subscription is "registered". In HAPI FHIR, when a subscriptionHooks may make changes to the canonicalized subscription and this will have an effect on processing across this server. Note however that timing issues may occur, since the subscription is already technically live by the time this hook is called.
No parameters are currently supported.Hooks should return
void
.
-
STORAGE_CASCADE_DELETE
public static final Pointcut STORAGE_CASCADE_DELETE
Storage Hook: Invoked when a resource is being deleted in a cascaded delete. This means that some other resource is being deleted, but per use request or other policy, the given resource (the one supplied as a parameter to this hook) is also being deleted.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.util.DeleteConflictList - Contains the details about the delete conflicts that are being resolved via deletion. The source resource is the resource that will be deleted, and is a cascade because the target resource is already being deleted.
- org.hl7.fhir.instance.model.api.IBaseResource - The actual resource that is about to be deleted via a cascading delete
Hooks should return
void
. They may choose to throw an exception however, in which case the delete should be rolled back.
-
STORAGE_PRE_DELETE_EXPUNGE
public static final Pointcut STORAGE_PRE_DELETE_EXPUNGE
Storage Hook: Invoked when a set of resources are about to be deleted and expunged via url like http://localhost/Patient?active=false&_expunge=trueHooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- java.lang.String - Contains the url used to delete and expunge the resources
Hooks should return
void
. They may choose to throw an exception however, in which case the delete expunge will not occur.
-
STORAGE_PRE_DELETE_EXPUNGE_PID_LIST
public static final Pointcut STORAGE_PRE_DELETE_EXPUNGE_PID_LIST
Storage Hook: Invoked when a batch of resource pids are about to be deleted and expunged via url like http://localhost/Patient?active=false&_expunge=trueHooks may accept the following parameters:
- java.lang.String - the name of the resource type being deleted
- java.util.List - the list of Long pids of the resources about to be deleted
- java.util.concurrent.atomic.AtomicLong - holds a running tally of all entities deleted so far. If the pointcut callback deletes any entities, then this parameter should be incremented by the total number of additional entities deleted.
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- java.lang.String - Contains the url used to delete and expunge the resources
Hooks should return
void
. They may choose to throw an exception however, in which case the delete expunge will not occur.
-
STORAGE_PREACCESS_RESOURCES
public static final Pointcut STORAGE_PREACCESS_RESOURCES
Storage Hook: Invoked when one or more resources may be returned to the user, whether as a part of a READ, a SEARCH, or even as the response to a CREATE/UPDATE, etc.This hook is invoked when a resource has been loaded by the storage engine and is being returned to the HTTP stack for response. This is not a guarantee that the client will ultimately see it, since filters/headers/etc may affect what is returned but if a resource is loaded it is likely to be used. Note also that caching may affect whether this pointcut is invoked.
Hooks will have access to the contents of the resource being returned and may choose to make modifications. These changes will be reflected in returned resource but have no effect on storage.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.IPreResourceAccessDetails - Contains details about the specific resources being returned.
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return
void
.
-
STORAGE_PRECHECK_FOR_CACHED_SEARCH
public static final Pointcut STORAGE_PRECHECK_FOR_CACHED_SEARCH
Storage Hook: Invoked when the storage engine is about to check for the existence of a pre-cached search whose results match the given search parameters.Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.searchparam.SearchParameterMap - Contains the details of the search being checked
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks may return
boolean
. If the hook method returnsfalse
, the server will not attempt to check for a cached search no matter what.
-
STORAGE_PRESEARCH_REGISTERED
public static final Pointcut STORAGE_PRESEARCH_REGISTERED
Storage Hook: Invoked when a search is starting, prior to creating a record for the search.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.server.util.ICachedSearchDetails - Contains the details of the search that is being created and initialized
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return
void
.
-
STORAGE_PRESHOW_RESOURCES
public static final Pointcut STORAGE_PRESHOW_RESOURCES
Storage Hook: Invoked when one or more resources may be returned to the user, whether as a part of a READ, a SEARCH, or even as the response to a CREATE/UPDATE, etc.This hook is invoked when a resource has been loaded by the storage engine and is being returned to the HTTP stack for response. This is not a guarantee that the client will ultimately see it, since filters/headers/etc may affect what is returned but if a resource is loaded it is likely to be used. Note also that caching may affect whether this pointcut is invoked.
Hooks will have access to the contents of the resource being returned and may choose to make modifications. These changes will be reflected in returned resource but have no effect on storage.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.IPreResourceShowDetails - Contains the resources that will be shown to the user. This object may be manipulated in order to modify the actual resources being shown to the user (e.g. for masking)
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return
void
.
-
STORAGE_PRESTORAGE_RESOURCE_CREATED
public static final Pointcut STORAGE_PRESTORAGE_RESOURCE_CREATED
Storage Hook: Invoked before a resource will be created, immediately before the resource is persisted to the database.Hooks will have access to the contents of the resource being created and may choose to make modifications to it. These changes will be reflected in permanent storage.
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRESTORAGE_RESOURCE_UPDATED
public static final Pointcut STORAGE_PRESTORAGE_RESOURCE_UPDATED
Storage Hook: Invoked before a resource will be updated, immediately before the resource is persisted to the database.Hooks will have access to the contents of the resource being updated (both the previous and new contents) and may choose to make modifications to the new contents of the resource. These changes will be reflected in permanent storage.
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource - The previous contents of the resource being updated
- org.hl7.fhir.instance.model.api.IBaseResource - The new contents of the resource being updated
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRESTORAGE_RESOURCE_DELETED
public static final Pointcut STORAGE_PRESTORAGE_RESOURCE_DELETED
Storage Hook: Invoked before a resource will be created, immediately before the resource is persisted to the database.Hooks will have access to the contents of the resource being created and may choose to make modifications to it. These changes will be reflected in permanent storage.
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource - The resource being deleted
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRECOMMIT_RESOURCE_CREATED
public static final Pointcut STORAGE_PRECOMMIT_RESOURCE_CREATED
Storage Hook: Invoked before a resource will be created, immediately before the transaction is committed (after all validation and other business rules have successfully completed, and any other database activity is complete.Hooks will have access to the contents of the resource being created but should generally not make any changes as storage has already occurred. Changes will not be reflected in storage, but may be reflected in the HTTP response.
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRECOMMIT_RESOURCE_UPDATED
public static final Pointcut STORAGE_PRECOMMIT_RESOURCE_UPDATED
Storage Hook: Invoked before a resource will be updated, immediately before the transaction is committed (after all validation and other business rules have successfully completed, and any other database activity is complete.Hooks will have access to the contents of the resource being updated (both the previous and new contents) but should generally not make any changes as storage has already occurred. Changes will not be reflected in storage, but may be reflected in the HTTP response.
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource - The previous contents of the resource
- org.hl7.fhir.instance.model.api.IBaseResource - The proposed new new contents of the resource
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRECOMMIT_RESOURCE_DELETED
public static final Pointcut STORAGE_PRECOMMIT_RESOURCE_DELETED
Storage Hook: Invoked before a resource will be deletedHooks will have access to the contents of the resource being deleted but should not make any changes as storage has already occurred
Hooks may accept the following parameters:- org.hl7.fhir.instance.model.api.IBaseResource - The resource being deleted
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
void
.
-
STORAGE_PRESTORAGE_DELETE_CONFLICTS
public static final Pointcut STORAGE_PRESTORAGE_DELETE_CONFLICTS
Storage Hook: Invoked when a resource delete operation is about to fail due to referential integrity checks. Intended for use with ca.uhn.fhir.jpa.interceptor.CascadingDeleteInterceptor.Hooks will have access to the list of resources that have references to the resource being deleted.
Hooks may accept the following parameters:- ca.uhn.fhir.jpa.api.model.DeleteConflictList - The list of delete conflicts
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.rest.api.server.storage.TransactionDetails - The outer transaction details object (since 5.0.0)
Hooks should return
ca.uhn.fhir.jpa.delete.DeleteConflictOutcome
. If the interceptor returns a non-null result, the DeleteConflictOutcome can be used to indicate a number of times to retry.
-
STORAGE_PRESTORAGE_EXPUNGE_RESOURCE
public static final Pointcut STORAGE_PRESTORAGE_EXPUNGE_RESOURCE
Storage Hook: Invoked before a resource is about to be expunged via the$expunge
operation.Hooks will be passed a reference to a counter containing the current number of records that have been deleted. If the hook deletes any records, the hook is expected to increment this counter by the number of records deleted.
Hooks may accept the following parameters:
- java.util.concurrent.atomic.AtomicInteger - The counter holding the number of records deleted.
- org.hl7.fhir.instance.model.api.IIdType - The ID of the resource that is about to be deleted
- org.hl7.fhir.instance.model.api.IBaseResource - The resource that is about to be deleted
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return void.
-
STORAGE_PRESTORAGE_EXPUNGE_EVERYTHING
public static final Pointcut STORAGE_PRESTORAGE_EXPUNGE_EVERYTHING
Storage Hook: Invoked before an$expunge
operation on all data (expungeEverything) is called.Hooks will be passed a reference to a counter containing the current number of records that have been deleted. If the hook deletes any records, the hook is expected to increment this counter by the number of records deleted.
Hooks may accept the following parameters:- java.util.concurrent.atomic.AtomicInteger - The counter holding the number of records deleted.
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return void.
-
STORAGE_PARTITION_IDENTIFY_CREATE
public static final Pointcut STORAGE_PARTITION_IDENTIFY_CREATE
Storage Hook: Invoked before FHIR create operation to request the identification of the partition ID to be associated with the resource being created. This hook will only be called if partitioning is enabled in the JPA server.Hooks may accept the following parameters:
- org.hl7.fhir.instance.model.api.IBaseResource - The resource that will be created and needs a tenant ID assigned.
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks must return an instance of
ca.uhn.fhir.interceptor.model.RequestPartitionId
.
-
STORAGE_PARTITION_IDENTIFY_READ
public static final Pointcut STORAGE_PARTITION_IDENTIFY_READ
Storage Hook: Invoked before FHIR read/access operation (e.g. read/vread, search, history, etc.) operation to request the identification of the partition ID to be associated with the resource(s) being searched for, read, etc.This hook will only be called if partitioning is enabled in the JPA server.
Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks must return an instance of
ca.uhn.fhir.interceptor.model.RequestPartitionId
.
-
STORAGE_PARTITION_SELECTED
public static final Pointcut STORAGE_PARTITION_SELECTED
Storage Hook: Invoked before any partition aware FHIR operation, when the selected partition has been identified (ie. after theSTORAGE_PARTITION_IDENTIFY_CREATE
orSTORAGE_PARTITION_IDENTIFY_READ
hook was called. This allows a separate hook to register, and potentially make decisions about whether the request should be allowed to proceed.This hook will only be called if partitioning is enabled in the JPA server.
Hooks may accept the following parameters:
- ca.uhn.fhir.interceptor.model.RequestPartitionId - The partition ID that was selected
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks must return void.
-
STORAGE_VERSION_CONFLICT
public static final Pointcut STORAGE_VERSION_CONFLICT
Storage Hook: Invoked when a transaction has been rolled back as a result of aResourceVersionConflictException
, meaning that a database constraint has been violated. This pointcut allows an interceptor to specify a resolution strategy other than simply returning the error to the client. This interceptor will be fired after the database transaction rollback has been completed.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return
ca.uhn.fhir.jpa.api.model.ResourceVersionConflictResolutionStrategy
. Hooks should not throw any exception.
-
MDM_AFTER_PERSISTED_RESOURCE_CHECKED
public static final Pointcut MDM_AFTER_PERSISTED_RESOURCE_CHECKED
MDM(EMPI) Hook: Invoked whenever a persisted resource (a resource that has just been stored in the database via a create/update/patch/etc.) has been matched against related resources and MDM links have been updated.Hooks may accept the following parameters:
- ca.uhn.fhir.rest.server.messaging.ResourceOperationMessage - This parameter should not be modified as processing is complete when this hook is invoked.
- ca.uhn.fhir.rest.server.TransactionLogMessages - This parameter is for informational messages provided by the MDM module during MDM processing.
Hooks should return
void
.
-
JPA_PERFTRACE_INFO
public static final Pointcut JPA_PERFTRACE_INFO
Performance Tracing Hook: This hook is invoked when any informational messages generated by the SearchCoordinator are created. It is typically used to provide logging or capture details related to a specific request.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.StorageProcessingMessage - Contains the message
Hooks should return
void
.
-
JPA_PERFTRACE_WARNING
public static final Pointcut JPA_PERFTRACE_WARNING
Performance Tracing Hook: This hook is invoked when any warning messages generated by the SearchCoordinator are created. It is typically used to provide logging or capture details related to a specific request.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.StorageProcessingMessage - Contains the message
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_FIRST_RESULT_LOADED
public static final Pointcut JPA_PERFTRACE_SEARCH_FIRST_RESULT_LOADED
Performance Tracing Hook: This hook is invoked when a search has returned the very first result from the database. The timing on this call can be a good indicator of how performant a query is in general.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_SELECT_COMPLETE
public static final Pointcut JPA_PERFTRACE_SEARCH_SELECT_COMPLETE
Performance Tracing Hook: This hook is invoked when an individual search query SQL SELECT statement has completed and no more results are available from that query. Note that this doesn't necessarily mean that no more matching results exist in the database, since HAPI FHIR JPA batch loads results in to the query cache in chunks in order to provide predicable results without overloading memory or the database.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_FAILED
public static final Pointcut JPA_PERFTRACE_SEARCH_FAILED
Performance Tracing Hook: This hook is invoked when a search has failed for any reason. When this pointcut is invoked, the search has completed unsuccessfully and will not be continued.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_PASS_COMPLETE
public static final Pointcut JPA_PERFTRACE_SEARCH_PASS_COMPLETE
Performance Tracing Hook: This hook is invoked when a search has completed. When this pointcut is invoked, a pass in the Search Coordinator has completed successfully, but not all possible resources have been loaded yet so a future paging request may trigger a new task that will load further resources.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_INDEXSEARCH_QUERY_COMPLETE
public static final Pointcut JPA_PERFTRACE_INDEXSEARCH_QUERY_COMPLETE
Performance Tracing Hook: This hook is invoked when a query involving an external index (e.g. Elasticsearch) has completed. When this pointcut is invoked, an initial list of resource IDs has been generated which will be used as part of a subsequent database query.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_REUSING_CACHED
public static final Pointcut JPA_PERFTRACE_SEARCH_REUSING_CACHED
Performance Tracing Hook: Invoked when the storage engine is about to reuse the results of a previously cached search.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:
- ca.uhn.fhir.jpa.searchparam.SearchParameterMap - Contains the details of the search being checked
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred. Note that this parameter may be null in contexts where the request is not known, such as while processing searches
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_COMPLETE
public static final Pointcut JPA_PERFTRACE_SEARCH_COMPLETE
Performance Tracing Hook: This hook is invoked when a search has failed for any reason. When this pointcut is invoked, a pass in the Search Coordinator has completed successfully, and all possible results have been fetched and loaded into the query cache.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.model.search.SearchRuntimeDetails - Contains details about the search being performed. Hooks should not modify this object.
Hooks should return
void
.
-
JPA_PERFTRACE_SEARCH_FOUND_ID
public static final Pointcut JPA_PERFTRACE_SEARCH_FOUND_ID
Performance Tracing Hook:This hook is invoked when a search has found an individual ID.
THIS IS AN EXPERIMENTAL HOOK AND MAY BE REMOVED OR CHANGED WITHOUT WARNING.
Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:
- java.lang.Integer - The query ID
- java.lang.Object - The ID
Hooks should return
void
.
-
JPA_PERFTRACE_RAW_SQL
public static final Pointcut JPA_PERFTRACE_RAW_SQL
Performance Tracing Hook: This hook is invoked when a query has executed, and includes the raw SQL statements that were executed against the database.Note that this is a performance tracing hook. Use with caution in production systems, since calling it may (or may not) carry a cost.
Hooks may accept the following parameters:
- ca.uhn.fhir.rest.api.server.RequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. Note that the bean properties are not all guaranteed to be populated, depending on how early during processing the exception occurred.
- ca.uhn.fhir.rest.server.servlet.ServletRequestDetails - A bean containing details about the request that is about to be processed, including details such as the resource type and logical ID (if any) and other FHIR-specific aspects of the request which have been pulled out of the servlet request. This parameter is identical to the RequestDetails parameter above but will only be populated when operating in a RestfulServer implementation. It is provided as a convenience.
- ca.uhn.fhir.jpa.util.SqlQueryList - Contains details about the raw SQL queries.
Hooks should return
void
.
-
TEST_RB
public static final Pointcut TEST_RB
This pointcut is used only for unit tests. Do not use in production code as it may be changed or removed at any time.
-
-
Method Detail
-
values
public static Pointcut[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Pointcut c : Pointcut.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Pointcut valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
isShouldLogAndSwallowException
public boolean isShouldLogAndSwallowException(@Nonnull Throwable theException)
- Specified by:
isShouldLogAndSwallowException
in interfaceIPointcut
-
getReturnType
@Nonnull public Class<?> getReturnType()
- Specified by:
getReturnType
in interfaceIPointcut
-
getParameterTypes
@Nonnull public List<String> getParameterTypes()
- Specified by:
getParameterTypes
in interfaceIPointcut
-
-