Interface InterceptorCreator

All Known Implementing Classes:
InterceptorCreatorDefault

@Contract public interface InterceptorCreator
Provides the strategy used to determine which annotations cause interceptor creation. Only services that are injection- activated may qualify for interception.
See Also:
  • Method Details

    • strategy

      default InterceptorCreator.Strategy strategy()
      Determines the strategy being applied.
      Returns:
      the strategy being applied
    • allowListedAnnotationTypes

      default Set<TypeName> allowListedAnnotationTypes()
      Applicable when InterceptorCreator.Strategy.ALLOW_LISTED is in use.
      Returns:
      the set of type names that should trigger creation
    • isAllowListed

      default boolean isAllowListed(TypeName annotationType)
      Applicable when InterceptorCreator.Strategy.CUSTOM is in use.
      Parameters:
      annotationType - the annotation type name
      Returns:
      true if the annotation type should trigger interceptor creation
    • createInterceptorProcessor

      InterceptorCreator.InterceptorProcessor createInterceptorProcessor(io.helidon.inject.api.ServiceInfoBasics interceptedService, InterceptorCreator delegateCreator)
      Returns the reflection based interceptor processor.
      Parameters:
      interceptedService - the service being intercepted
      delegateCreator - the "real" creator
      Returns:
      the processor to use for the given arguments
    • createInterceptorProcessor

      InterceptorCreator.InterceptorProcessor createInterceptorProcessor(io.helidon.inject.api.ServiceInfoBasics interceptedService, InterceptorCreator delegateCreator, ProcessingEnvironment processEnv)
      Returns the annotation based interceptor processor.
      Parameters:
      interceptedService - the service being intercepted
      delegateCreator - the "real" creator
      processEnv - the processing environment (should be passed if in annotation processor)
      Returns:
      the processor to use for the given arguments