You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/05/11 15:33:11 UTC

camel git commit: Added camel-mustache docs to Gitbook

Repository: camel
Updated Branches:
  refs/heads/master 37df0d353 -> 13b79316b


Added camel-mustache docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/13b79316
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/13b79316
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/13b79316

Branch: refs/heads/master
Commit: 13b79316bc0590bc99e6886ca0ff95fe3b5fea86
Parents: 37df0d3
Author: Andrea Cosentino <an...@gmail.com>
Authored: Wed May 11 17:32:46 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Wed May 11 17:32:46 2016 +0200

----------------------------------------------------------------------
 .../camel-mustache/src/main/docs/mustache.adoc  | 181 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 182 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/13b79316/components/camel-mustache/src/main/docs/mustache.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mustache/src/main/docs/mustache.adoc b/components/camel-mustache/src/main/docs/mustache.adoc
new file mode 100644
index 0000000..bcb5500
--- /dev/null
+++ b/components/camel-mustache/src/main/docs/mustache.adoc
@@ -0,0 +1,181 @@
+[[Mustache-Mustache]]
+Mustache
+~~~~~~~~
+
+*Available as of Camel 2.12*
+
+The *mustache:* component allows for processing a message using a
+http://mustache.github.io/[Mustache] template. This can be ideal when
+using link:templating.html[Templating] to generate responses for
+requests.
+
+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-mustache</artifactId>
+<version>x.x.x</version> <!-- use the same version as your Camel core version -->
+</dependency>
+---------------------------------------------------------------------------------
+
+[[Mustache-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-------------------------------
+mustache:templateName[?options]
+-------------------------------
+
+Where *templateName* is the classpath-local URI of the template to
+invoke; or the complete URL of the remote template (eg:
+file://folder/myfile.mustache[file://folder/myfile.mustache]).
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[Mustache-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The Mustache component supports 1 options which are listed below.
+
+
+
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| mustacheFactory | MustacheFactory | To use a custom MustacheFactory
+|=======================================================================
+// component options: END
+
+
+
+// endpoint options: START
+The Mustache component supports 7 endpoint options which are listed below:
+
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| resourceUri | producer |  | String | *Required* Path to the resource or a reference to lookup a bean in the Registry to use as the resource
+| contentCache | producer | false | boolean | Sets whether to use resource content cache or not
+| encoding | producer |  | String | Character encoding of the resource content.
+| endDelimiter | producer | "\}\}" | String | Characters used to mark template code end.
+| startDelimiter | producer | "\{\{" | String | Characters used to mark template code beginning.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
+|=======================================================================
+// endpoint options: END
+
+
+[[Mustache-MustacheContext]]
+Mustache Context
+^^^^^^^^^^^^^^^^
+
+Camel will provide exchange information in the Mustache context (just a
+`Map`). The `Exchange` is transferred as:
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|key |value
+
+|`exchange` |The `Exchange` itself.
+
+|`exchange.properties` |The `Exchange` properties.
+
+|`headers` |The headers of the In message.
+
+|`camelContext` |The Camel Context.
+
+|`request` |The In message.
+
+|`body` |The In message body.
+
+|`response` |The Out message (only for InOut message exchange pattern).
+|=======================================================================
+
+[[Mustache-Dynamictemplates]]
+Dynamic templates
+^^^^^^^^^^^^^^^^^
+
+Camel provides two headers by which you can define a different resource
+location for a template or the template content itself. If any of these
+headers is set then Camel uses this over the endpoint configured
+resource. This allows you to provide a dynamic template at runtime.
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Header |Type |Description |Support Version
+
+|MustacheConstants.MUSTACHE_RESOURCE_URI |String |A URI for the template resource to use instead of the endpoint
+configured. | 
+
+|MustacheConstants.MUSTACHE_TEMPLATE |String |The template to use instead of the endpoint configured. |
+|=======================================================================
+
+[[Mustache-Samples]]
+Samples
+^^^^^^^
+
+For example you could use something like:
+
+[source,java]
+--------------------------------------------
+from("activemq:My.Queue").
+to("mustache:com/acme/MyResponse.mustache");
+--------------------------------------------
+
+To use a Mustache template to formulate a response for a message for
+InOut message exchanges (where there is a `JMSReplyTo` header).
+
+If you want to use InOnly and consume the message and send it to another
+destination you could use:
+
+[source,java]
+--------------------------------------------
+from("activemq:My.Queue").
+to("mustache:com/acme/MyResponse.mustache").
+to("activemq:Another.Queue");
+--------------------------------------------
+
+It's possible to specify what template the component should use
+dynamically via a header, so for example:
+
+[source,java]
+--------------------------------------------------------------------------------------------
+from("direct:in").
+setHeader(MustacheConstants.MUSTACHE_RESOURCE_URI).constant("path/to/my/template.mustache").
+to("mustache:dummy");
+--------------------------------------------------------------------------------------------
+
+[[Mustache-TheEmailSample]]
+The Email Sample
+^^^^^^^^^^^^^^^^
+
+In this sample we want to use Mustache templating for an order
+confirmation email. The email template is laid out in Mustache as:
+
+[source,java]
+-------------------------------------------------
+Dear {{headers.lastName}}}, {{headers.firstName}}
+
+Thanks for the order of {{headers.item}}.
+
+Regards Camel Riders Bookstore
+{{body}}
+-------------------------------------------------
+
+[[Mustache-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/13b79316/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 2032863..c0d19a7 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -199,6 +199,7 @@
     * [MongoDB-GridFS](gridfs.adoc)
     * [MQTT](mqtt.adoc)
     * [Msv](msv.adoc)
+    * [Mustache](mustache.adoc)
     * [Mock](mock.adoc)
     * [NATS](nats.adoc)
     * [Properties](properties.adoc)