Class MustacheEndpoint

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean, org.apache.camel.CamelContextAware, org.apache.camel.Endpoint, org.apache.camel.IsSingleton, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.HasId, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

    @UriEndpoint(firstVersion="2.12.0",
                 scheme="mustache",
                 title="Mustache",
                 syntax="mustache:resourceUri",
                 producerOnly=true,
                 category=TRANSFORMATION,
                 headersClass=MustacheConstants.class)
    public class MustacheEndpoint
    extends org.apache.camel.component.ResourceEndpoint
    Transform messages using a Mustache template.
    • Field Summary

      • Fields inherited from class org.apache.camel.component.ResourceEndpoint

        log
      • Fields inherited from class org.apache.camel.support.service.BaseService

        BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clearContentCache()  
      protected String createEndpointUri()  
      String getEncoding()  
      String getEndDelimiter()  
      org.apache.camel.ExchangePattern getExchangePattern()  
      com.github.mustachejava.MustacheFactory getMustacheFactory()  
      String getResourceUri()  
      String getStartDelimiter()  
      boolean isAllowTemplateFromHeader()  
      protected void onExchange​(org.apache.camel.Exchange exchange)  
      void setAllowTemplateFromHeader​(boolean allowTemplateFromHeader)
      Whether to allow to use resource template from header or not (default false).
      void setEncoding​(String encoding)
      Character encoding of the resource content.
      void setEndDelimiter​(String endDelimiter)
      Characters used to mark template code end.
      void setMustacheFactory​(com.github.mustachejava.MustacheFactory mustacheFactory)
      To use a custom MustacheFactory
      void setStartDelimiter​(String startDelimiter)
      Characters used to mark template code beginning.
      • Methods inherited from class org.apache.camel.component.ResourceEndpoint

        getCamelId, getCamelManagementName, getResourceAsInputStream, getResourceAsInputStreamWithoutCache, getState, isAllowContextMapAll, isContentCache, isContentCacheCleared, loadResource, setAllowContextMapAll, setContentCache, setResourceUri
      • Methods inherited from class org.apache.camel.support.ProcessorEndpoint

        createPollingConsumer, createProcessor, createProducer, getProcessor, setProcessor
      • Methods inherited from class org.apache.camel.support.DefaultPollingEndpoint

        createConsumer
      • Methods inherited from class org.apache.camel.support.ScheduledPollEndpoint

        configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, doStart, doStop, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDefaultDelay, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay
      • Methods inherited from class org.apache.camel.support.DefaultEndpoint

        configureExchange, configurePollingConsumer, createAsyncProducer, createExchange, createExchange, doInit, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, toString
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
      • Methods inherited from interface org.apache.camel.Endpoint

        getEndpointBaseUri, isSingletonProducer
      • Methods inherited from interface org.apache.camel.Service

        build, close, init, start, stop
      • Methods inherited from interface org.apache.camel.ShutdownableService

        shutdown
      • Methods inherited from interface org.apache.camel.StatefulService

        getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
      • Methods inherited from interface org.apache.camel.SuspendableService

        isSuspended, resume, suspend
    • Constructor Detail

      • MustacheEndpoint

        public MustacheEndpoint()
      • MustacheEndpoint

        public MustacheEndpoint​(String endpointUri,
                                org.apache.camel.Component component,
                                String resourceUri)
    • Method Detail

      • getExchangePattern

        public org.apache.camel.ExchangePattern getExchangePattern()
        Specified by:
        getExchangePattern in interface org.apache.camel.Endpoint
        Overrides:
        getExchangePattern in class org.apache.camel.support.DefaultEndpoint
      • createEndpointUri

        protected String createEndpointUri()
        Overrides:
        createEndpointUri in class org.apache.camel.support.DefaultEndpoint
      • clearContentCache

        public void clearContentCache()
        Specified by:
        clearContentCache in interface org.apache.camel.api.management.mbean.ManagedResourceEndpointMBean
        Overrides:
        clearContentCache in class org.apache.camel.component.ResourceEndpoint
      • onExchange

        protected void onExchange​(org.apache.camel.Exchange exchange)
                           throws Exception
        Overrides:
        onExchange in class org.apache.camel.support.ProcessorEndpoint
        Throws:
        Exception
      • getResourceUri

        public String getResourceUri()
        Overrides:
        getResourceUri in class org.apache.camel.component.ResourceEndpoint
      • getMustacheFactory

        public com.github.mustachejava.MustacheFactory getMustacheFactory()
      • setMustacheFactory

        public void setMustacheFactory​(com.github.mustachejava.MustacheFactory mustacheFactory)
        To use a custom MustacheFactory
      • getEncoding

        public String getEncoding()
      • setEncoding

        public void setEncoding​(String encoding)
        Character encoding of the resource content.
      • getStartDelimiter

        public String getStartDelimiter()
      • setStartDelimiter

        public void setStartDelimiter​(String startDelimiter)
        Characters used to mark template code beginning.
      • getEndDelimiter

        public String getEndDelimiter()
      • setEndDelimiter

        public void setEndDelimiter​(String endDelimiter)
        Characters used to mark template code end.
      • isAllowTemplateFromHeader

        public boolean isAllowTemplateFromHeader()
      • setAllowTemplateFromHeader

        public void setAllowTemplateFromHeader​(boolean allowTemplateFromHeader)
        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.