Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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