Class AbstractApiComponent<E extends Enum<E> & ApiName,T,S extends ApiCollection<E,T>>

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultComponent
org.apache.camel.support.component.AbstractApiComponent<E,T,S>
All Implemented Interfaces:
AutoCloseable, org.apache.camel.CamelContextAware, org.apache.camel.Component, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasCamelContext, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public abstract class AbstractApiComponent<E extends Enum<E> & ApiName,T,S extends ApiCollection<E,T>> extends DefaultComponent
Abstract base class for API Component Camel Component classes.
  • Field Details

    • configuration

      @Metadata(label="advanced", description="Component configuration") protected T configuration
    • collection

      protected final S extends ApiCollection<E,T> collection
    • apiNameClass

      protected final Class<E extends Enum<E> & ApiName> apiNameClass
  • Constructor Details

    • AbstractApiComponent

      @Deprecated public AbstractApiComponent(Class<? extends org.apache.camel.Endpoint> endpointClass, Class<E> apiNameClass, S collection)
      Deprecated constructor for AbstractApiComponent.
      Parameters:
      endpointClass - This is deprecated. Do not use
      apiNameClass - The API name class
      collection - The collection of API methods
    • AbstractApiComponent

      @Deprecated public AbstractApiComponent(org.apache.camel.CamelContext context, Class<? extends org.apache.camel.Endpoint> endpointClass, Class<E> apiNameClass, S collection)
      Deprecated constructor for AbstractApiComponent.
      Parameters:
      context - The CamelContext
      endpointClass - This is deprecated. Do not use
      apiNameClass - The API name class
      collection - The collection of API methods
    • AbstractApiComponent

      protected AbstractApiComponent(Class<E> apiNameClass, S collection)
      Creates a new AbstractApiComponent
      Parameters:
      apiNameClass - The API name class
      collection - The collection of API methods
    • AbstractApiComponent

      protected AbstractApiComponent(org.apache.camel.CamelContext context, Class<E> apiNameClass, S collection)
      Creates a new AbstractApiComponent
      Parameters:
      context - The CamelContext
      apiNameClass - The API name class
      collection - The collection of API methods
  • Method Details

    • createEndpoint

      protected org.apache.camel.Endpoint createEndpoint(String uri, String remaining, Map<String,Object> parameters) throws Exception
      Description copied from class: DefaultComponent
      A factory method allowing derived components to create a new endpoint from the given URI, remaining path and optional parameters
      Specified by:
      createEndpoint in class DefaultComponent
      Parameters:
      uri - the full URI of the endpoint
      remaining - the remaining part of the URI without the query parameters or component prefix
      parameters - the optional parameters passed in
      Returns:
      a newly created endpoint or null if the endpoint cannot be created based on the inputs
      Throws:
      Exception - is thrown if error creating the endpoint
    • afterPropertiesSet

      protected void afterPropertiesSet(T endpointConfiguration)
    • getApiName

      protected abstract E getApiName(String apiNameStr)
    • createEndpoint

      protected abstract org.apache.camel.Endpoint createEndpoint(String uri, String methodName, E apiName, T endpointConfiguration)
    • createEndpointConfiguration

      protected T createEndpointConfiguration(E name) throws Exception
      Throws:
      Exception
    • getConfiguration

      public T getConfiguration()
    • setConfiguration

      public void setConfiguration(T configuration)