org.apache.camel
Interface CamelContext

All Superinterfaces:
Service
All Known Implementing Classes:
DefaultCamelContext

public interface CamelContext
extends Service

Interface used to represent the context used to configure routes and the policies to use during message exchanges between endpoints.

Version:
$Revision: 36635 $

Method Summary
 void addComponent(String componentName, Component component)
          Adds a component to the context.
 void addRouteDefinitions(Collection<RouteType> routeDefinitions)
          Adds a collection of route definitions to the context
 void addRoutes(Collection<Route> routes)
          Adds a collection of routes to this context
 void addRoutes(RouteBuilder builder)
          Adds a collection of routes to this context using the given builder to build them
 Endpoint addSingletonEndpoint(String uri, Endpoint endpoint)
          Adds the endpoint to the context using the given URI.
 Component getComponent(String componentName)
          Gets a component from the context by name.
<T extends Component>
T
getComponent(String name, Class<T> componentType)
          Gets a component from the context by name and specifying the expected type of component.
 Endpoint getEndpoint(String uri)
          Resolves the given URI to an Endpoint.
<T extends Endpoint>
T
getEndpoint(String name, Class<T> endpointType)
          Resolves the given URI to an Endpoint of the specified type.
 ExchangeConverter getExchangeConverter()
          Returns the converter of exchanges from one type to another
 Injector getInjector()
          Returns the injector used to instantiate objects by type
 LifecycleStrategy getLifecycleStrategy()
          Returns the lifecycle strategy used to handle lifecycle notification
 String getName()
          Gets the name of the this context.
 Component getOrCreateComponent(String componentName, Callable<Component> factory)
          Gets the a previously added component by name or lazily creates the component using the factory Callback.
 Registry getRegistry()
          Returns the registry used to lookup components by name and type such as the Spring ApplicationContext, JNDI or the OSGi Service Registry
 List<RouteType> getRouteDefinitions()
          Returns a list of the current route definitions
 List<Route> getRoutes()
          Returns the current routes in this context
 Collection<Endpoint> getSingletonEndpoints()
          Returns the collection of all registered singleton endpoints.
 TypeConverter getTypeConverter()
          Returns the type converter used to coerce types from one type to another
 Component removeComponent(String componentName)
          Removes a previously added component.
 Endpoint removeSingletonEndpoint(String uri)
          Removes the singleton endpoint with the given URI
 Language resolveLanguage(String language)
          Resolves a language for creating expressions
 void setRoutes(List<Route> routes)
          Sets the routes for this context, replacing any current routes
 
Methods inherited from interface org.apache.camel.Service
start, stop
 

Method Detail

getName

String getName()
Gets the name of the this context.


addComponent

void addComponent(String componentName,
                  Component component)
Adds a component to the context.


getComponent

Component getComponent(String componentName)
Gets a component from the context by name.


getComponent

<T extends Component> T getComponent(String name,
                                     Class<T> componentType)
Gets a component from the context by name and specifying the expected type of component.


removeComponent

Component removeComponent(String componentName)
Removes a previously added component.

Parameters:
componentName -
Returns:
the previously added component or null if it had not been previously added.

getOrCreateComponent

Component getOrCreateComponent(String componentName,
                               Callable<Component> factory)
Gets the a previously added component by name or lazily creates the component using the factory Callback.

Parameters:
componentName - the name of the component
factory - used to create a new component instance if the component was not previously added.
Returns:
the component

getEndpoint

Endpoint getEndpoint(String uri)
Resolves the given URI to an Endpoint. If the URI has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created and if the endpoint is a singleton it is registered as a singleton endpoint.


getEndpoint

<T extends Endpoint> T getEndpoint(String name,
                                   Class<T> endpointType)
Resolves the given URI to an Endpoint of the specified type. If the URI has a singleton endpoint registered, then the singleton is returned. Otherwise, a new Endpoint is created and if the endpoint is a singleton it is registered as a singleton endpoint.


getSingletonEndpoints

Collection<Endpoint> getSingletonEndpoints()
Returns the collection of all registered singleton endpoints.


addSingletonEndpoint

Endpoint addSingletonEndpoint(String uri,
                              Endpoint endpoint)
                              throws Exception
Adds the endpoint to the context using the given URI. The endpoint will be registered as a singleton.

Parameters:
uri - the URI to be used to resolve this endpoint
endpoint - the endpoint to be added to the context
Returns:
the old endpoint that was previously registered to the context if there was already an endpoint for that URI
Throws:
Exception - if the new endpoint could not be started or the old endpoint could not be stopped

removeSingletonEndpoint

Endpoint removeSingletonEndpoint(String uri)
                                 throws Exception
Removes the singleton endpoint with the given URI

Parameters:
uri - the URI to be used to remove
Returns:
the endpoint that was removed or null if there is no endpoint for this URI
Throws:
Exception - if endpoint could not be stopped

getRouteDefinitions

List<RouteType> getRouteDefinitions()
Returns a list of the current route definitions


getRoutes

List<Route> getRoutes()
Returns the current routes in this context


setRoutes

void setRoutes(List<Route> routes)
Sets the routes for this context, replacing any current routes

Parameters:
routes - the new routes to use

addRoutes

void addRoutes(Collection<Route> routes)
               throws Exception
Adds a collection of routes to this context

Parameters:
routes - the routes to add
Throws:
Exception

addRoutes

void addRoutes(RouteBuilder builder)
               throws Exception
Adds a collection of routes to this context using the given builder to build them

Parameters:
builder - the builder which will create the routes and add them to this context
Throws:
Exception - if the routes could not be created for whatever reason

addRouteDefinitions

void addRouteDefinitions(Collection<RouteType> routeDefinitions)
                         throws Exception
Adds a collection of route definitions to the context

Throws:
Exception

getExchangeConverter

ExchangeConverter getExchangeConverter()
Returns the converter of exchanges from one type to another


getTypeConverter

TypeConverter getTypeConverter()
Returns the type converter used to coerce types from one type to another


getRegistry

Registry getRegistry()
Returns the registry used to lookup components by name and type such as the Spring ApplicationContext, JNDI or the OSGi Service Registry


getInjector

Injector getInjector()
Returns the injector used to instantiate objects by type


getLifecycleStrategy

LifecycleStrategy getLifecycleStrategy()
Returns the lifecycle strategy used to handle lifecycle notification


resolveLanguage

Language resolveLanguage(String language)
Resolves a language for creating expressions



Copyright © 2008 IONA Open Source Community. All Rights Reserved.