|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.activemq.filter.FunctionCallExpression
public class FunctionCallExpression
Function call expression for use in selector expressions. Includes an extensible interface to allow custom functions to be added without changes to the core.
Use registerFunction() to register new function implementations for use in selectors.
| Nested Class Summary | |
|---|---|
protected static class |
FunctionCallExpression.functionRegistration
Maintain a single function registration. |
static class |
FunctionCallExpression.invalidFunctionExpressionException
Exception indicating that an invalid function call expression was created, usually by the selector parser. |
| Field Summary | |
|---|---|
protected ArrayList |
arguments
|
protected FilterFunction |
filterFunc
|
protected String |
functionName
|
protected static HashMap<String,FunctionCallExpression.functionRegistration> |
functionRegistry
|
| Constructor Summary | |
|---|---|
protected |
FunctionCallExpression(String func_name,
List<Expression> args)
Constructs a function call expression with the named function and argument list. |
| Method Summary | |
|---|---|
static FunctionCallExpression |
createFunctionCall(String func_name,
List<Expression> args)
Create a function call expression for the named function and argument list, returning a Boolean function call expression if the function returns a boolean value so that it may be used in boolean contexts. |
static void |
deregisterFunction(String name)
Remove the registration of the function with the specified name. |
Object |
evaluate(MessageEvaluationContext message_ctx)
Evaluate the function call expression in the context given. |
Expression |
getArgument(int which)
Retrieve the argument at the specified index; the first argument is index 0. |
int |
getNumArguments()
Retrieve the number of arguments for the function call defined in this expression. |
static boolean |
registerFunction(String name,
FilterFunction impl)
Register the function with the specified name. |
String |
toString()
Translate the expression back into text in a form similar to the input to the selector parser. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final HashMap<String,FunctionCallExpression.functionRegistration> functionRegistry
protected String functionName
protected ArrayList arguments
protected FilterFunction filterFunc
| Constructor Detail |
|---|
protected FunctionCallExpression(String func_name,
List<Expression> args)
throws FunctionCallExpression.invalidFunctionExpressionException
FunctionCallExpression.invalidFunctionExpressionException - - if the function name is not valid.| Method Detail |
|---|
public static boolean registerFunction(String name,
FilterFunction impl)
name - - the function name, as used in selector expressions. Case Sensitive.impl - - class which implements the function interface, including parse-time and evaluation-time
operations.
public static void deregisterFunction(String name)
name - - name of the function to remove.
public static FunctionCallExpression createFunctionCall(String func_name,
List<Expression> args)
throws FunctionCallExpression.invalidFunctionExpressionException
func_name - - name of the function, as used in selectors.args - - list of argument expressions passed to the function.
invalidFunctionExpression - - if the function name is not valid, or the given argument list is
not valid for the function.
FunctionCallExpression.invalidFunctionExpressionExceptionpublic int getNumArguments()
public Expression getArgument(int which)
which - - number of the argument to retrieve; the first is 0.
public Object evaluate(MessageEvaluationContext message_ctx)
throws javax.jms.JMSException
evaluate in interface Expressionjavax.jms.JMSExceptionExpression.evaluate(org.apache.activemq.filter.MessageEvaluationContext)public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||