
Package ca.uhn.fhir.interceptor.api
Interface IBaseInterceptorService<POINTCUT extends IPointcut>
- All Superinterfaces:
IBaseInterceptorBroadcaster<POINTCUT>
- All Known Subinterfaces:
IInterceptorService
- All Known Implementing Classes:
BaseInterceptorService
,InterceptorService
public interface IBaseInterceptorService<POINTCUT extends IPointcut>
extends IBaseInterceptorBroadcaster<POINTCUT>
-
Method Summary
Modifier and TypeMethodDescriptionReturns all currently registered interceptors (excluding any thread local interceptors).boolean
registerInterceptor
(Object theInterceptor) Register an interceptor.void
registerInterceptors
(Collection<?> theInterceptors) boolean
registerThreadLocalInterceptor
(Object theInterceptor) Register an interceptor that will be used in aThreadLocal
context.void
Unregisters all anonymous interceptors (i.e.void
Unregisters all registered interceptors.boolean
unregisterInterceptor
(Object theInterceptor) Unregister an interceptor.void
unregisterInterceptors
(Collection<?> theInterceptors) void
unregisterInterceptorsIf
(Predicate<Object> theShouldUnregisterFunction) Unregisters all interceptors that are indicated by the given callback function returningtrue
void
unregisterThreadLocalInterceptor
(Object theInterceptor) Unregisters a ThreadLocal interceptorMethods inherited from interface ca.uhn.fhir.interceptor.api.IBaseInterceptorBroadcaster
callHooks, callHooksAndReturnObject, hasHooks
-
Method Details
-
registerThreadLocalInterceptor
Register an interceptor that will be used in aThreadLocal
context. This means that events will only be broadcast to the given interceptor if they were fired from the current thread.Note that it is almost always desirable to call this method with a try-finally statement that removes the interceptor afterwards, since this can lead to memory leakage, poor performance due to ever-increasing numbers of interceptors, etc.
Note that most methods such as
getAllRegisteredInterceptors()
andunregisterAllInterceptors()
do not affect thread local interceptors as they are kept in a separate list.- Parameters:
theInterceptor
- The interceptor- Returns:
- Returns
true
if at least one valid hook method was found on this interceptor
-
unregisterThreadLocalInterceptor
Unregisters a ThreadLocal interceptor- Parameters:
theInterceptor
- The interceptor- See Also:
-
registerInterceptor
Register an interceptor. This method has no effect if the given interceptor is already registered.- Parameters:
theInterceptor
- The interceptor to register- Returns:
- Returns
true
if at least one valid hook method was found on this interceptor
-
unregisterInterceptor
Unregister an interceptor. This method has no effect if the given interceptor is not already registered.- Parameters:
theInterceptor
- The interceptor to unregister- Returns:
- Returns
true
if the interceptor was found and removed
-
getAllRegisteredInterceptors
Returns all currently registered interceptors (excluding any thread local interceptors). -
unregisterAllInterceptors
void unregisterAllInterceptors()Unregisters all registered interceptors. Note that this method does not unregister anythread local interceptors
. -
unregisterInterceptors
-
registerInterceptors
-
unregisterInterceptorsIf
Unregisters all interceptors that are indicated by the given callback function returningtrue
-
unregisterAllAnonymousInterceptors
Unregisters all anonymous interceptors (i.e. all interceptors registered withregisterAnonymousInterceptor
)
-