Interface InterceptableEndpoint<ConfigType extends InterceptableEndpointConfiguration,ComponentType extends InterceptableComponent>

All Superinterfaces:
AutoCloseable, Endpoint, IsSingleton, Service
All Known Implementing Classes:
CustomFhirEndpoint, FhirEndpoint, Iti105Endpoint, Iti65Endpoint, Iti66Endpoint, Iti67Endpoint, Iti68BinaryEndpoint, Iti68Endpoint, Iti78Endpoint, Iti81Endpoint, Iti83Endpoint, MllpDispatchEndpoint, MllpEndpoint, MllpTransactionEndpoint, Pcc44Endpoint, Pharm5Endpoint

public interface InterceptableEndpoint<ConfigType extends InterceptableEndpointConfiguration,ComponentType extends InterceptableComponent> extends Endpoint
Interface for endpoints that use the Interceptor framework defined in this module. This has been changed to an interface with default methods as of IPF 3.2 so that it can also be used when extending other endpoint types than DefaultEndpoint.
Since:
3.1
  • Method Details

    • createProducer

      default Producer createProducer() throws Exception
      Default implementation that creates a producer by calling doCreateProducer() and weaves in configured interceptor processors to be executed before reaching out for the target
      Specified by:
      createProducer in interface Endpoint
      Returns:
      intercepted producer
      Throws:
      Exception
    • createConsumer

      default Consumer createConsumer(Processor originalProcessor) throws Exception
      Default implementation that creates a consumer by calling doCreateConsumer(Processor) and weaves in configured interceptor processors to be executed before calling the first processor in the consumer route.
      Specified by:
      createConsumer in interface Endpoint
      Parameters:
      originalProcessor - processor for handling the consumed request
      Returns:
      intercepted consumer
      Throws:
      Exception
    • getCustomInterceptors

      default List<Interceptor> getCustomInterceptors()
      Returns a list of endpoint-specific custom interceptors from getInterceptableConfiguration()
      Returns:
      a list of endpoint-specific custom interceptors
    • doCreateProducer

      Producer doCreateProducer() throws Exception
      Returns:
      the actual producer without any interceptors configured
      Throws:
      Exception
    • doCreateConsumer

      Consumer doCreateConsumer(Processor processor) throws Exception
      Returns:
      the actual consumer without any interceptors configured
      Throws:
      Exception
    • getInterceptableComponent

      ComponentType getInterceptableComponent()
      Returns:
      the component for this endpoint
    • getInterceptableConfiguration

      ConfigType getInterceptableConfiguration()
      Returns:
      the configuration for this endpoint
    • createInitialConsumerInterceptorChain

      List<Interceptor> createInitialConsumerInterceptorChain()
      Returns:
      the initial chain of consumer interceptors for this endpoint
    • createInitialProducerInterceptorChain

      List<Interceptor> createInitialProducerInterceptorChain()
      Returns:
      the initial chain of producer interceptors for this endpoint