[[jslt-component]]
= JSLT Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-jslt/src/main/docs/jslt-component.adoc
:docTitle: JSLT
:artifactId: camel-jslt
:description: Query or transform JSON payloads using an JSLT.
:since: 3.1
:supportLevel: Stable
:component-header: Only producer is supported

*Since Camel {since}*

*{component-header}*

The Jslt component allows you to process a JSON messages using an
https://github.com/schibsted/jslt[JSLT] expression. This can be
ideal when doing JSON to JSON transformation or querying data.

Maven users will need to add the following dependency to
their `pom.xml` for this component:

[source,xml]
------------------------------------------------------------
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jslt</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------

 

== URI format

[source,java]
-----------------------
jslt:specName[?options]
-----------------------

Where *specName* is the classpath-local URI of the specification to
invoke; or the complete URL of the remote specification
(eg: \file://folder/myfile.vm).

You can append query options to the URI in the following
format, `?option=value&option=value&...`

== Options




// component options: START
The JSLT component supports 5 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *allowTemplateFromHeader* (producer) | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | boolean
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *functions* (advanced) | JSLT can be extended by plugging in functions written in Java. |  | Collection
| *objectFilter* (advanced) | JSLT can be extended by plugging in a custom jslt object filter |  | JsonFilter
|===
// component options: END






// endpoint options: START
The JSLT endpoint is configured using URI syntax:

----
jslt:resourceUri
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *resourceUri* | *Required* Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. |  | String
|===


=== Query Parameters (7 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *allowContextMapAll* (producer) | Sets whether the context map should allow access to all details. By default only the message body and headers can be accessed. This option can be enabled for full access to the current Exchange and CamelContext. Doing so impose a potential security risk as this opens access to the full power of CamelContext API. | false | boolean
| *allowTemplateFromHeader* (producer) | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | boolean
| *contentCache* (producer) | Sets whether to use resource content cache or not | false | boolean
| *prettyPrint* (common) | If true, JSON in output message is pretty printed. | false | boolean
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
|===
// endpoint options: END

== Passing values to JSLT

Camel can supply exchange information as variables when applying a JSLT expression on the body. The available variables from the *Exchange* are:

[width="100%",cols="2,5",options="header"]
|===
| name | value
| headers | The headers of the In message as a json object
| exchange.properties | The *Exchange* properties as a json object. _exchange_ is the name of the variable and _properties_ is the path to the exchange properties. Available if _allowContextMapAll_ option is true.
|===

All the values that cannot be converted to json with Jackson are denied and will not be available in the jslt expression.

For example, the header named "type" and the exchange property "instance" can be accessed like

[source,json]
--------------------------------------
{
  "type": $headers.type,
  "instance": $exchange.properties.instance
}
--------------------------------------

== Samples

For example you could use something like

[source,java]
--------------------------------------
from("activemq:My.Queue").
  to("jslt:com/acme/MyResponse.json");
--------------------------------------

And a file based resource:

[source,java]
---------------------------------------------------------------
from("activemq:My.Queue").
  to("jslt:file://myfolder/MyResponse.json?contentCache=true").
  to("activemq:Another.Queue");
---------------------------------------------------------------

You can also specify which JSLT expression the component should use
dynamically via a header, so for example:

[source,java]
---------------------------------------------------------------------
from("direct:in").
  setHeader("CamelJsltResourceUri").constant("path/to/my/spec.json").
  to("jslt:dummy?allowTemplateFromHeader=true");
---------------------------------------------------------------------

Or send whole jslt expression via header: (suitable for querying)
 
[source,java]
---------------------------------------------------------------------
from("direct:in").
  setHeader("CamelJsltResourceUri").constant(".published").
  to("jslt:dummy?allowTemplateFromHeader=true");
---------------------------------------------------------------------

Passing exchange properties to the jslt expression can be done like this

[source,java]
---------------------------------------------------------------------
from("direct:in").
  to("jslt:com/acme/MyResponse.json?allowContextMapAll=true");
---------------------------------------------------------------------

include::camel-spring-boot::page$jslt-starter.adoc[]
