Components
^^^^^^^^^^





// components: START
Number of Components: 25 in 1 JAR artifacts (1 deprecated)

[width="100%",cols="4,1,5",options="header"]
|=======================================================================
| Component | Available From | Description

| link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
`bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.

| link:src/main/docs/binding-component.adoc[Binding] (camel-core) +
`binding:bindingName:delegateUri` | 2.11 | *deprecated* The binding component is used for as a of wrapping an Endpoint in a contract with a data format.

| link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
`browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.

| link:src/main/docs/class-component.adoc[Class] (camel-core) +
`class:beanName` | 2.4 | The Class Component is for invoking Java Classes (Java beans) from Camel.

| link:src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
`controlbus:command:language` | 2.11 | The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.

| link:src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
`dataformat:name:operation` | 2.12 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.

| link:src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
`dataset:name` | 1.3 | The dataset component provides a mechanism to easily perform load & soak testing of your system.

| link:src/main/docs/direct-component.adoc[Direct] (camel-core) +
`direct:name` | 1.0 | The direct component provides direct synchronous call to another endpoint from the same CamelContext.

| link:src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
`direct-vm:name` | 2.10 | The direct-vm component provides direct synchronous call to another endpoint from any CamelContext in the same JVM.

| link:src/main/docs/file-component.adoc[File] (camel-core) +
`file:directoryName` | 1.0 | The file component is used for reading or writing files.

| link:src/main/docs/language-component.adoc[Language] (camel-core) +
`language:languageName:resourceUri` | 2.5 | The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.

| link:src/main/docs/log-component.adoc[Log] (camel-core) +
`log:loggerName` | 1.1 | The log component logs message exchanges to the underlying logging mechanism.

| link:src/main/docs/mock-component.adoc[Mock] (camel-core) +
`mock:name` | 1.0 | The mock component is used for testing routes and mediation rules using mocks.

| link:src/main/docs/properties-component.adoc[Properties] (camel-core) +
`properties:key` | 2.3 | The properties component is used for using property placeholders in endpoint uris.

| link:src/main/docs/ref-component.adoc[Ref] (camel-core) +
`ref:name` | 1.2 | The ref component is used for lookup of existing endpoints bound in the Registry.

| link:src/main/docs/rest-component.adoc[REST] (camel-core) +
`rest:method:path:uriTemplate` | 2.14 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).

| link:src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
`rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.

| link:src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
`scheduler:name` | 2.15 | The scheduler component is used for generating message exchanges when a scheduler fires.

| link:src/main/docs/seda-component.adoc[SEDA] (camel-core) +
`seda:name` | 1.1 | The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.

| link:src/main/docs/stub-component.adoc[Stub] (camel-core) +
`stub:name` | 2.10 | The stub component provides a simple way to stub out any physical endpoints while in development or testing.

| link:src/main/docs/test-component.adoc[Test] (camel-core) +
`test:name` | 1.3 | The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.

| link:src/main/docs/timer-component.adoc[Timer] (camel-core) +
`timer:timerName` | 1.0 | The timer component is used for generating message exchanges when a timer fires.

| link:src/main/docs/validator-component.adoc[Validator] (camel-core) +
`validator:resourceUri` | 1.1 | Validates the payload of a message using XML Schema and JAXP Validation.

| link:src/main/docs/vm-component.adoc[VM] (camel-core) +
`vm:name` | 1.1 | The vm component provides asynchronous call to another endpoint from the same CamelContext.

| link:src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
`xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.

|=======================================================================
// components: END






Data Formats
^^^^^^^^^^^^





// dataformats: START
Number of Data Formats: 4 in 36 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|=======================================================================
| Data Format | Available From | Description

| link:src/main/docs/gzip-dataformat.adoc[GZip] (camel-core) | 2.0 | GZip compression data format

| link:src/main/docs/serialization-dataformat.adoc[Java Object Serialization] (camel-core) | 2.12 | Java Object Serialization data format

| link:src/main/docs/string-dataformat.adoc[String Encoding] (camel-core) | 2.12 | String (text based) data format

| link:src/main/docs/zip-dataformat.adoc[Zip Deflate Compression] (camel-core) | 2.12 | Zip compression data format (not for zip files)
|=======================================================================
// dataformats: END







Expression Languages
^^^^^^^^^^^^^^^^^^^^





// languages: START
Number of Languages: 10 in 1 JAR artifacts (0 deprecated)

[width="100%",cols="4,1,5",options="header"]
|=======================================================================
| Language | Available From | Description

| link:src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | For expressions and predicates using a java bean (aka method call)

| link:src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | For expressions and predicates using a constant

| link:src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] (camel-core) | 2.0 | An expression which extracts the named exchange property

| link:src/main/docs/file-language.adoc[File] (camel-core) | 1.1 | For expressions and predicates using the file/simple language

| link:src/main/docs/header-language.adoc[Header] (camel-core) | 1.5 | An expression which extracts the named exchange header

| link:src/main/docs/ref-language.adoc[Ref] (camel-core) | 2.8 | For using a custom expression or predicate

| link:src/main/docs/simple-language.adoc[Simple] (camel-core) | 1.1 | For expressions and predicates using the simple language

| link:src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | For expressions and predicates using a body or header tokenizer

| link:src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 | For expressions and predicates using a body or header XML tokenizer

| link:src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | For XPath expressions and predicates
|=======================================================================
// languages: END





