Enum CdrPointcut
- All Implemented Interfaces:
IPointcut
,Serializable
,Comparable<CdrPointcut>
CdrHook.value()
Hook pointcuts are divided into several broad categories:
- FHIRGW_xxx: Hooks on the FHIR Gateway module
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionChannel Import Hook: The pointcut provides access to messages received on a broker queue.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR create operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR delete operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway has finished invoking a FHIR extended operation operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR operation operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR read or vread operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR search paging operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway has finished invoking a FHIR search operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR search operation against an individual target server.FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR update operation against an individual target server.HL7v2 Hook: This hook is the first one called when a HL7v2 endpoint processes incoming messages.Server Endpoint Hook: The pointcut provides the capability to supply a provisioned KeyStore file for TLS base encryption.SMART/OIDC Hook: The pointcut is called when an OIDC client is being saved.SMART/OIDC Hook: The pointcut is called when an OIDC client is being saved.Persistence (RDBMS) Hook: This pointcut is invoked my the Persistence (RDBMS) module when running in MegaScale mode in order to request the database credentials associated with a given partition ID. -
Method Summary
Modifier and TypeMethodDescriptionClass<?>
boolean
isShouldLogAndSwallowException
(Throwable theException) static CdrPointcut
Returns the enum constant of this type with the specified name.static CdrPointcut[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
CHANNEL_IMPORT_MESSAGE_PRE_PROCESSED
Channel Import Hook: The pointcut provides access to messages received on a broker queue. It allows an interceptor to inspect, modify or mark for discard incoming messages before ingestion by the Channel Import module.Hooks may accept the following parameters:
-
ResourceOperationJsonMessage
- Hook methods for this pointcut should take a single parameter of ResourceOperationJsonMessage as the input. This object contains the pre-processed channel import message.
Boolean
which indicates whether to process the message. -
-
FHIRGW_READ_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR read or vread operation against an individual target server. This hook is called once for each target that will be called, so if a single client read is being multicasted against two target servers, this hook will be invoked twice.Hooks may accept the following parameters:
-
ReadRequest
- The read that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
-
FHIRGW_OPERATION_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR operation operation against an individual target server.Hooks may accept the following parameters:
-
OperationRequest
- The read that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
-
FHIRGW_OPERATION_TARGET_POSTINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway has finished invoking a FHIR extended operation operation against an individual target server. This hook is called once for each target that has been called, so if a single client operation is being multicasted against two target servers, this hook will be invoked twice.Hooks may accept the following parameters:
-
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
SearchResultsAccumulator
- The accumulator being used to collect the search results so far. This may be empty in the case of operations which do not return search results. Some operations, such as $everything, will return search results, but others such as $ Hook methods may use this object to inspect results received by other endpoints when searching in serial mode, and can modify the results as needed. Note that theFHIRGW_SEARCH_TARGET_POSTINVOKE
pointcut is invoked once for each gateway target, before the search results are added to the accumulator. Results from the current target are found in theSearchResponse
object, and will be moved from that object into the accumulator after this pointcut is complete. -
OperationResponse
- This object contains the Operation Response from the individual Gateway Target that was called. Interceptors may modify this object in any way they want. This may be null if the operation returns a Bundle (check the SearchResultsAccumulator instead).
void
. -
-
FHIRGW_SEARCH_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR search operation against an individual target server. This hook is called once for each target that will be called, so if a single client search is being multicasted against two target servers, this hook will be invoked twice.This hook can be contrasted with
FHIRGW_SEARCH_PAGE_TARGET_PREINVOKE
:FHIRGW_SEARCH_TARGET_PREINVOKE
is called before the initial search is performed (which should return search results as well as paging links)FHIRGW_SEARCH_PAGE_TARGET_PREINVOKE
is called before the subsequent pages of results are fetched
Hooks may accept the following parameters:
-
SearchRequest
- The search that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
SearchResultsAccumulator
- The accumulator being used to collect the search results so far. Hook methods may use this object to inspect results recieved by other endpoints when searching in serial mode, and can modify the results as needed. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
FHIRGW_SEARCH_PAGE_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR search paging operation against an individual target server. This hook is called once for each target that will be called, so if a single client search is being multicasted against two target servers, this hook will be invoked twice.This hook can be contrasted with
FHIRGW_SEARCH_TARGET_PREINVOKE
:FHIRGW_SEARCH_TARGET_PREINVOKE
is called before the initial search is performed (which should return search results as well as paging links)FHIRGW_SEARCH_PAGE_TARGET_PREINVOKE
is called before the subsequent pages of results are fetched
Hooks may accept the following parameters:
-
SearchPageRequest
- The search that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
SearchResultsAccumulator
- The accumulator being used to collect the search results so far. Hook methods may use this object to inspect results received by other endpoints when searching in serial mode, and can modify the results as needed. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
FHIRGW_SEARCH_TARGET_POSTINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway has finished invoking a FHIR search operation against an individual target server. This hook is called once for each target that has been called, so if a single client search is being multicasted against two target servers, this hook will be invoked twice.Hooks may accept the following parameters:
-
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
SearchResultsAccumulator
- The accumulator being used to collect the search results so far. Hook methods may use this object to inspect results received by other endpoints when searching in serial mode, and can modify the results as needed. Note that theFHIRGW_SEARCH_TARGET_POSTINVOKE
pointcut is invoked once for each gateway target, before the search results are added to the accumulator. Results from the current target are found in theSearchResponse
object, and will be moved from that object into the accumulator after this pointcut is complete. -
SearchResponse
- This object contains the search results from the individual Gateway Target that was called. Interceptors may modify this object in any way they want.
void
. -
-
FHIRGW_CREATE_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR create operation against an individual target server. This hook is called once for each target that will be called, so if a single client create is being multicasted against two target servers, this hook will be invoked twice.For creates where a client id is specified, the update hook will be fired instead.
Hooks may accept the following parameters:
-
CreateRequest
- The create that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
-
FHIRGW_UPDATE_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR update operation against an individual target server. This hook is called once for each target that will be called, so if a single client update is being multicasted against two target servers, this hook will be invoked twice.This hook will also be called for create operations when a client id is provided.
Hooks may accept the following parameters:
-
UpdateRequest
- The update that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
-
FHIRGW_DELETE_TARGET_PREINVOKE
FHIR Gateway Hook: This hook is called when the FHIR Gateway is about to invoke a FHIR delete operation against an individual target server. This hook is called once for each target that will be called, so if a single client delete is being multicasted against two target servers, this hook will be invoked twice.Hooks may accept the following parameters:
-
DeleteRequest
- The delete that is about to be invoked. The hook method can modify this request, and modifications will affect the operation that is actually performed against the target server. -
GatewayTargetJson
- The gateway target server definition. Hook methods should not modify this object, and any changes will be ignored. -
ServletRequestDetails
- A bean containing details about the request that is about to be processed.
void
. -
-
HL7V2IN_PRE_HL7V2_TO_FHIR_MAPPING_PROCESSING
HL7v2 Hook: This hook is the first one called when a HL7v2 endpoint processes incoming messages. It is invoked before the HL7v2 to FHIR mapping takes place for each incoming request. It may be used to provide alternate handling for some requests, screen requests before they are handled, alter the incoming message,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:
-
Message
- the message that is about to be processed. The hook method can modify this message and modifications will affect the end result of processing the message by this server.
true
orvoid
if processing should continue normally. This is generally the right thing to do. If your interceptor is processing the response rather than letting HAPI do it, you must returnfalse
. In this case, no further processing will occur. -
-
STORAGE_MEGASCALE_PROVIDE_DB_INFO
Persistence (RDBMS) Hook: This pointcut is invoked my the Persistence (RDBMS) module when running in MegaScale mode in order to request the database credentials associated with a given partition ID.Hooks may accept the following parameters:
-
MegaScaleCredentialRequestJson
- Hook methods for this pointcut should take aMegaScaleCredentialRequestJson
as input. This object contains the numeric ID of the partition for which database credentials are wanted.
MegaScaleCredentialResponseJson
object which contains the JDBC URL and credentials associated with the partition ID. These credentials will be cached, so this Pointcut will not be invoked repeatedly for the same partition ID (therefore it is ok if hook methods have some latency).- Since:
- 2023.02.R01
-
-
SERVER_CONFIGURATION_KEYSTORE
Server Endpoint Hook: The pointcut provides the capability to supply a provisioned KeyStore file for TLS base encryption. Note that pointcutSERVER_CONFIGURATION_KEYSTORE
is invoked only if the endpoint listener is said to required TLS encryption for incoming connections through environment property tls.enabledHooks may accept the following parameters:
-
String
- The keystore password
Interceptors for this pointcut must be registered with the specific endpoint module where the keystore will be used.
Hook methods must returnKeyStore
. -
-
SMART_OIDC_CLIENT_SAVED
SMART/OIDC Hook: The pointcut is called when an OIDC client is being saved. This could mean that a new client is being created, or an existing client is being updated or disabled.This hook is called after the database transaction used to save the object has been committed. This means that the record already appears in the database. Any exceptions thrown by hooks for this pointcut may cause an error to appear for the user requesting the operation, but will not affect what has been saved in the database, so no exceptions should be thrown within this pointcut.
Hooks may accept the following parameters:
-
IOAuth2ClientDetails
- The Client being saved. Pointcuts should not modify this object.
void
. -
-
SMART_OIDC_CLIENT_SAVING
SMART/OIDC Hook: The pointcut is called when an OIDC client is being saved. This could mean that a new client is being created, or an existing client is being updated or disabled.This hook is called within the open database transaction used to save the object. This means that at the time this pointcut is invoked, the record does not yet appear in the database. It also means that any exception thrown by this pointcut will block the operation.
Hooks may accept the following parameters:
-
IOAuth2ClientDetails
- The Client being saved. Pointcuts should not modify this object.
void
. -
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
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
- Specified by:
isShouldLogAndSwallowException
in interfaceIPointcut
-
getReturnType
- Specified by:
getReturnType
in interfaceIPointcut
-
getParameterTypes
- Specified by:
getParameterTypes
in interfaceIPointcut
-