Class LanguageSupport

  • All Implemented Interfaces:
    org.apache.camel.CamelContextAware, org.apache.camel.IsSingleton, org.apache.camel.spi.Language

    public abstract class LanguageSupport
    extends Object
    implements org.apache.camel.spi.Language, org.apache.camel.IsSingleton, org.apache.camel.CamelContextAware
    Base language for Language implementations.
    • Constructor Detail

      • LanguageSupport

        public LanguageSupport()
    • Method Detail

      • getCamelContext

        public org.apache.camel.CamelContext getCamelContext()
        Specified by:
        getCamelContext in interface org.apache.camel.CamelContextAware
      • setCamelContext

        public void setCamelContext​(org.apache.camel.CamelContext camelContext)
        Specified by:
        setCamelContext in interface org.apache.camel.CamelContextAware
      • isSingleton

        public boolean isSingleton()
        Specified by:
        isSingleton in interface org.apache.camel.IsSingleton
      • loadResource

        protected String loadResource​(String expression)
                               throws org.apache.camel.ExpressionIllegalSyntaxException
        Loads the resource if the given expression is referring to an external resource by using the syntax resource:scheme:uri. If the expression is not referring to a resource, then its returned as is.

        For example resource:classpath:mygroovy.groovy to refer to a groovy script on the classpath.

        Parameters:
        expression - the expression
        Returns:
        the expression
        Throws:
        org.apache.camel.ExpressionIllegalSyntaxException - is thrown if error loading the resource
      • isStaticResource

        protected boolean isStaticResource​(String expression)
        Does the expression refer to a static resource.
      • isDynamicResource

        protected boolean isDynamicResource​(String expression)
        Does the expression refer to a dynamic resource which uses simple functions.
      • hasSimpleFunction

        public static boolean hasSimpleFunction​(String expression)
        Does the expression include a simple function.
        Parameters:
        expression - the expression
        Returns:
        true if one or more simple function is included in the expression
      • property

        protected <T> T property​(Class<T> type,
                                 Object[] properties,
                                 int index,
                                 Object defaultValue)
        Converts the property to the expected type
        Parameters:
        type - the expected type
        properties - the options (optimized as object array with hardcoded positions for properties)
        index - index of the property
        defaultValue - optional default value
        Returns:
        the value converted to the expected type