Class FreemarkerEndpoint

  • 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.10.0",
                 scheme="freemarker",
                 title="Freemarker",
                 syntax="freemarker:resourceUri",
                 producerOnly=true,
                 category=TRANSFORMATION,
                 headersClass=FreemarkerConstants.class)
    public class FreemarkerEndpoint
    extends org.apache.camel.component.ResourceEndpoint
    Transform messages using FreeMarker templates.
    • 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()  
      FreemarkerEndpoint findOrCreateEndpoint​(String uri, String newResourceUri)  
      freemarker.template.Configuration getConfiguration()  
      String getEncoding()  
      org.apache.camel.ExchangePattern getExchangePattern()  
      int getTemplateUpdateDelay()  
      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 setConfiguration​(freemarker.template.Configuration configuration)
      Sets the Freemarker configuration to use
      void setEncoding​(String encoding)
      Sets the encoding to be used for loading the template file.
      void setTemplateUpdateDelay​(int templateUpdateDelay)
      Number of seconds the loaded template resource will remain in the cache.
      • Methods inherited from class org.apache.camel.component.ResourceEndpoint

        getCamelId, getCamelManagementName, getResourceAsInputStream, getResourceAsInputStreamWithoutCache, getResourceUri, 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

      • FreemarkerEndpoint

        public FreemarkerEndpoint()
      • FreemarkerEndpoint

        public FreemarkerEndpoint​(String uri,
                                  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
      • 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.
      • setEncoding

        public void setEncoding​(String encoding)
        Sets the encoding to be used for loading the template file.
      • getEncoding

        public String getEncoding()
      • getTemplateUpdateDelay

        public int getTemplateUpdateDelay()
      • setTemplateUpdateDelay

        public void setTemplateUpdateDelay​(int templateUpdateDelay)
        Number of seconds the loaded template resource will remain in the cache.
      • getConfiguration

        public freemarker.template.Configuration getConfiguration()
      • setConfiguration

        public void setConfiguration​(freemarker.template.Configuration configuration)
        Sets the Freemarker configuration to use
      • 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