org.apache.camel.util.component
Class AbstractApiComponent<E extends Enum<E> & ApiName,T,S extends ApiCollection<E,T>>

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.impl.DefaultComponent
          extended by org.apache.camel.impl.UriEndpointComponent
              extended by org.apache.camel.util.component.AbstractApiComponent<E,T,S>
All Implemented Interfaces:
CamelContextAware, Component, Service, ShutdownableService, EndpointCompleter, StatefulService, SuspendableService

public abstract class AbstractApiComponent<E extends Enum<E> & ApiName,T,S extends ApiCollection<E,T>>
extends UriEndpointComponent
implements EndpointCompleter

Abstract base class for API Component Camel Component classes.


Field Summary
protected  Class<E> apiNameClass
           
protected  S collection
           
protected  T configuration
           
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
AbstractApiComponent(CamelContext context, Class<? extends Endpoint> endpointClass, Class<E> apiNameClass, S collection)
           
AbstractApiComponent(Class<? extends Endpoint> endpointClass, Class<E> apiNameClass, S collection)
           
 
Method Summary
 List<String> completeEndpointPath(ComponentConfiguration configuration, String completionText)
          Given the configuration and completion text, return a list of possible completion values for a command line, IDE or web based tool.
protected abstract  Endpoint createEndpoint(String uri, String methodName, E apiName, T endpointConfiguration)
           
protected  Endpoint createEndpoint(String uri, String remaining, Map<String,Object> parameters)
          A factory method allowing derived components to create a new endpoint from the given URI, remaining path and optional parameters
protected  T createEndpointConfiguration(E name)
           
protected abstract  E getApiName(String apiNameStr)
           
protected  E getApiNameOrNull(String nameStr)
           
protected  void getCompletedMethods(List<String> result, String completionText, Class<? extends ApiMethod> apiMethod, ApiMethodHelper<? extends ApiMethod> helper)
           
 T getConfiguration()
           
 void setConfiguration(T configuration)
           
 
Methods inherited from class org.apache.camel.impl.UriEndpointComponent
createComponentConfiguration, createParameterConfigurationMap, getEndpointClass, getParameterConfigurationMap, populateParameterConfigurationMap, setEndpointClass
 
Methods inherited from class org.apache.camel.impl.DefaultComponent
afterConfiguration, createConfiguration, createEndpoint, doStart, doStop, getAndRemoveOrResolveReferenceParameter, getAndRemoveOrResolveReferenceParameter, getAndRemoveParameter, getAndRemoveParameter, getCamelContext, ifStartsWithReturnRemainder, preProcessUri, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceListParameter, resolveAndRemoveReferenceParameter, resolveAndRemoveReferenceParameter, setCamelContext, setProperties, useIntrospectionOnEndpoint, useRawUri, validateParameters, validateURI
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

configuration

@UriParam
protected T configuration

collection

protected final S extends ApiCollection<E,T> collection

apiNameClass

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

AbstractApiComponent

public AbstractApiComponent(Class<? extends Endpoint> endpointClass,
                            Class<E> apiNameClass,
                            S collection)

AbstractApiComponent

public AbstractApiComponent(CamelContext context,
                            Class<? extends Endpoint> endpointClass,
                            Class<E> apiNameClass,
                            S collection)
Method Detail

createEndpoint

protected 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

getApiName

protected abstract E getApiName(String apiNameStr)
                                                  throws IllegalArgumentException
Throws:
IllegalArgumentException

createEndpoint

protected abstract 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)

completeEndpointPath

public List<String> completeEndpointPath(ComponentConfiguration configuration,
                                         String completionText)
Description copied from interface: EndpointCompleter
Given the configuration and completion text, return a list of possible completion values for a command line, IDE or web based tool.

Specified by:
completeEndpointPath in interface EndpointCompleter

getApiNameOrNull

protected E getApiNameOrNull(String nameStr)

getCompletedMethods

protected void getCompletedMethods(List<String> result,
                                   String completionText,
                                   Class<? extends ApiMethod> apiMethod,
                                   ApiMethodHelper<? extends ApiMethod> helper)


Apache Camel