Class LanguageEndpoint
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.DefaultEndpoint
-
- org.apache.camel.support.ScheduledPollEndpoint
-
- org.apache.camel.support.DefaultPollingEndpoint
-
- org.apache.camel.support.ProcessorEndpoint
-
- org.apache.camel.component.ResourceEndpoint
-
- org.apache.camel.component.language.LanguageEndpoint
-
- 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.5.0", scheme="language", title="Language", syntax="language:languageName:resourceUri", producerOnly=true, category={CORE,SCRIPT}, headersClass=LanguageConstants.class) public class LanguageEndpoint extends org.apache.camel.component.ResourceEndpointExecute scripts in any of the languages supported by Camel. By having a component to execute language scripts, it allows more dynamic routing capabilities. For example by using the Routing Slip or Dynamic Router EIPs you can send messages to language endpoints where the script is dynamic defined as well.
-
-
Constructor Summary
Constructors Constructor Description LanguageEndpoint()LanguageEndpoint(String endpointUri, org.apache.camel.Component component, org.apache.camel.spi.Language language, org.apache.camel.Expression expression, String resourceUri)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearContentCache()org.apache.camel.ConsumercreateConsumer(org.apache.camel.Processor processor)protected StringcreateEndpointUri()org.apache.camel.ProducercreateProducer()protected voiddoInit()org.apache.camel.ExpressiongetExpression()org.apache.camel.spi.LanguagegetLanguage()StringgetResourceUri()StringgetResultType()StringgetScript()booleanisBinary()booleanisCacheScript()booleanisContentResolvedFromResource()booleanisTransform()protected StringresolveScript(String script)Resolves the script.voidsetBinary(boolean binary)Whether the script is binary content or text content.voidsetCacheScript(boolean cacheScript)Whether to cache the compiled script and reusevoidsetContentResolvedFromResource(boolean contentResolvedFromResource)voidsetExpression(org.apache.camel.Expression expression)voidsetLanguageName(String languageName)Sets the name of the language to usevoidsetResourceUri(String resourceUri)Path to the resource, or a reference to lookup a bean in the Registry to use as the resourcevoidsetResultType(String resultType)Sets the class of the result type (type from output)voidsetScript(String script)Sets the script to executevoidsetTransform(boolean transform)Whether or not the result of the script should be used as message body.-
Methods inherited from class org.apache.camel.component.ResourceEndpoint
getCamelId, getCamelManagementName, getResourceAsInputStream, getResourceAsInputStreamWithoutCache, getState, isAllowContextMapAll, isContentCache, isContentCacheCleared, loadResource, setAllowContextMapAll, setContentCache
-
Methods inherited from class org.apache.camel.support.ProcessorEndpoint
createPollingConsumer, createProcessor, getProcessor, onExchange, setProcessor
-
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, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, 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 class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
doInit
protected void doInit() throws Exception- Overrides:
doInitin classorg.apache.camel.support.DefaultEndpoint- Throws:
Exception
-
createProducer
public org.apache.camel.Producer createProducer() throws Exception- Specified by:
createProducerin interfaceorg.apache.camel.Endpoint- Overrides:
createProducerin classorg.apache.camel.support.ProcessorEndpoint- Throws:
Exception
-
createConsumer
public org.apache.camel.Consumer createConsumer(org.apache.camel.Processor processor) throws Exception- Specified by:
createConsumerin interfaceorg.apache.camel.Endpoint- Overrides:
createConsumerin classorg.apache.camel.support.DefaultPollingEndpoint- Throws:
Exception
-
resolveScript
protected String resolveScript(String script) throws IOException
Resolves the script.- Parameters:
script- script or uri for a script to load- Returns:
- the script
- Throws:
IOException- is thrown if error loading the script
-
createEndpointUri
protected String createEndpointUri()
- Overrides:
createEndpointUriin classorg.apache.camel.support.DefaultEndpoint
-
getLanguage
public org.apache.camel.spi.Language getLanguage()
-
getExpression
public org.apache.camel.Expression getExpression()
-
setExpression
public void setExpression(org.apache.camel.Expression expression)
-
isTransform
public boolean isTransform()
-
setTransform
public void setTransform(boolean transform)
Whether or not the result of the script should be used as message body. This options is default true.- Parameters:
transform- true to use result as new message body, false to keep the existing message body
-
isBinary
public boolean isBinary()
-
setBinary
public void setBinary(boolean binary)
Whether the script is binary content or text content. By default the script is read as text content (eg java.lang.String)- Parameters:
binary- true to read the script as binary, instead of text based.
-
setLanguageName
public void setLanguageName(String languageName)
Sets the name of the language to use- Parameters:
languageName- the name of the language
-
setResourceUri
public void setResourceUri(String resourceUri)
Path to the resource, or a reference to lookup a bean in the Registry to use as the resource- Overrides:
setResourceUriin classorg.apache.camel.component.ResourceEndpoint- Parameters:
resourceUri- the resource path
-
getResourceUri
public String getResourceUri()
- Overrides:
getResourceUriin classorg.apache.camel.component.ResourceEndpoint
-
setScript
public void setScript(String script)
Sets the script to execute- Parameters:
script- the script
-
getScript
public String getScript()
-
isContentResolvedFromResource
public boolean isContentResolvedFromResource()
-
setContentResolvedFromResource
public void setContentResolvedFromResource(boolean contentResolvedFromResource)
-
isCacheScript
public boolean isCacheScript()
-
setCacheScript
public void setCacheScript(boolean cacheScript)
Whether to cache the compiled script and reuse Notice reusing the script can cause side effects from processing one CamelExchangeto the nextExchange.
-
getResultType
public String getResultType()
-
setResultType
public void setResultType(String resultType)
Sets the class of the result type (type from output)
-
clearContentCache
public void clearContentCache()
- Specified by:
clearContentCachein interfaceorg.apache.camel.api.management.mbean.ManagedResourceEndpointMBean- Overrides:
clearContentCachein classorg.apache.camel.component.ResourceEndpoint
-
-