org.mule.api.expression
Interface ExpressionManager

All Known Implementing Classes:
DefaultExpressionManager

public interface ExpressionManager

Provides universal access for evaluating expressions embedded in Mule configurations, such as Xml, Java, scripting and annotations.

Users can register or unregister ExpressionEvaluator through this interface.


Field Summary
static String DEFAULT_EXPRESSION_POSTFIX
           
static String DEFAULT_EXPRESSION_PREFIX
           
 
Method Summary
 void clearEvaluators()
          Clears all registered evaluators from the manager.
 Object evaluate(String expression, MuleMessage message)
          Evaluates the given expression.
 Object evaluate(String expression, MuleMessage message, boolean failIfNull)
          Evaluates the given expression.
 Object evaluate(String expression, String evaluator, MuleMessage message, boolean failIfNull)
          Evaluates the given expression.
 boolean isEvaluatorRegistered(String name)
          Checks whether an evaluator is registered with the manager
 boolean isValidExpression(String expression)
          Determines if the expression is valid or not.
 String parse(String expression, MuleMessage message)
          Evaluates expressions in a given string.
 String parse(String expression, MuleMessage message, boolean failIfNull)
          Evaluates expressions in a given string.
 void registerEvaluator(ExpressionEvaluator evaluator)
           
 ExpressionEvaluator unregisterEvaluator(String name)
          Removes the evaluator with the given name
 

Field Detail

DEFAULT_EXPRESSION_PREFIX

static final String DEFAULT_EXPRESSION_PREFIX
See Also:
Constant Field Values

DEFAULT_EXPRESSION_POSTFIX

static final String DEFAULT_EXPRESSION_POSTFIX
See Also:
Constant Field Values
Method Detail

registerEvaluator

void registerEvaluator(ExpressionEvaluator evaluator)

isEvaluatorRegistered

boolean isEvaluatorRegistered(String name)
Checks whether an evaluator is registered with the manager

Parameters:
name - the name of the expression evaluator
Returns:
true if the evaluator is registered with the manager, false otherwise

unregisterEvaluator

ExpressionEvaluator unregisterEvaluator(String name)
Removes the evaluator with the given name

Parameters:
name - the name of the evaluator to remove
Returns:
the evaluator that was removed. This will be null if the evaluator was not registered

evaluate

Object evaluate(String expression,
                MuleMessage message)
                throws ExpressionRuntimeException
Evaluates the given expression. The expression should be a single expression definition with or without enclosing braces. i.e. "mule:serviceName" and "#[mule:serviceName]" are both valid. For situations where one or more expressions need to be parsed within a single text, the parse(String,org.mule.api.MuleMessage,boolean) method should be used since it will iterate through all expressions in a string.

Parameters:
expression - a single expression i.e. xpath://foo
message - The current message being processed
Returns:
the result of the evaluation
Throws:
ExpressionRuntimeException - if the expression is invalid, or a null is found for the expression and 'failIfNull is set to true.

evaluate

Object evaluate(String expression,
                MuleMessage message,
                boolean failIfNull)
                throws ExpressionRuntimeException
Evaluates the given expression. The expression should be a single expression definition with or without enclosing braces. i.e. "mule:serviceName" and "#[mule:serviceName]" are both valid. For situations where one or more expressions need to be parsed within a single text, the parse(String,org.mule.api.MuleMessage,boolean) method should be used since it will iterate through all expressions in a string.

Parameters:
expression - a single expression i.e. xpath://foo
message - The current message being processed
failIfNull - determines if an exception should be thrown if expression could not be evaluated or returns null. @return the result of the evaluation
Throws:
ExpressionRuntimeException - if the expression is invalid, or a null is found for the expression and 'failIfNull is set to true.

evaluate

Object evaluate(String expression,
                String evaluator,
                MuleMessage message,
                boolean failIfNull)
                throws ExpressionRuntimeException
Evaluates the given expression. The expression should be a single expression definition with or without enclosing braces. i.e. "mule:serviceName" and "#[mule:serviceName]" are both valid. For situations where one or more expressions need to be parsed within a single text, the parse(String,org.mule.api.MuleMessage,boolean) method should be used since it will iterate through all expressions in a string.

Parameters:
expression - one or more expressions ebedded in a literal string i.e. "Value is #[xpath://foo] other value is #[header:foo]."
evaluator - the evaluator to use when executing the expression
message - The current message bing processed
failIfNull - determines if an exception should be thrown if expression could not be evaluated or returns null. @return the result of the evaluation
Throws:
ExpressionRuntimeException - if the expression is invalid, or a null is found for the expression and 'failIfNull is set to true.

parse

String parse(String expression,
             MuleMessage message)
             throws ExpressionRuntimeException
Evaluates expressions in a given string. This method will iterate through each expression and evaluate it. If a user needs to evaluate a single expression they can use evaluate(String,org.mule.api.MuleMessage,boolean).

Parameters:
expression - one or more expressions ebedded in a literal string i.e. "Value is #[xpath://foo] other value is #[header:foo]."
message - The current message being processed
Returns:
the result of the evaluation
Throws:
ExpressionRuntimeException - if the expression is invalid, or a null is found for the expression and 'failIfNull is set to true.

parse

String parse(String expression,
             MuleMessage message,
             boolean failIfNull)
             throws ExpressionRuntimeException
Evaluates expressions in a given string. This method will iterate through each expression and evaluate it. If a user needs to evaluate a single expression they can use evaluate(String,org.mule.api.MuleMessage,boolean).

Parameters:
expression - one or more expressions ebedded in a literal string i.e. "Value is #[xpath://foo] other value is #[header:foo]."
message - The current message being processed
failIfNull - determines if an exception should be thrown if expression could not be evaluated or returns null. @return the result of the evaluation
Throws:
ExpressionRuntimeException - if the expression is invalid, or a null is found for the expression and 'failIfNull is set to true.

clearEvaluators

void clearEvaluators()
Clears all registered evaluators from the manager.


isValidExpression

boolean isValidExpression(String expression)
Determines if the expression is valid or not. This method will validate a single expression or expressions embedded in a string. the expression must be well formed i.e. #[bean:user]

Parameters:
expression - the expression to validate
Returns:
true if the expression evaluator is recognised


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.