Package dev.cel.runtime
Interface Dispatcher
-
- All Known Subinterfaces:
Dispatcher.ImmutableCopy
- All Known Implementing Classes:
DefaultDispatcher
@ThreadSafe @Internal public interface Dispatcher
An object which implements dispatching of function calls.CEL Library Internals. Do Not Use.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceDispatcher.ImmutableCopyAnImmutablecopy of aDispatcher.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Objectdispatch(Metadata metadata, long exprId, java.lang.String functionName, java.util.List<java.lang.String> overloadIds, java.lang.Object[] args)Invokes a function based on given parameters.Dispatcher.ImmutableCopyimmutableCopy()Returns anDispatcher.ImmutableCopyfrom current instance.
-
-
-
Method Detail
-
dispatch
java.lang.Object dispatch(Metadata metadata, long exprId, java.lang.String functionName, java.util.List<java.lang.String> overloadIds, java.lang.Object[] args) throws InterpreterException
Invokes a function based on given parameters.- Parameters:
metadata- Metadata used for error reporting.exprId- Expression identifier which can be used together withmetadatato get information about the dispatch target for error reporting.functionName- the logical name of the function being invoked.overloadIds- A list of function overload ids. The dispatcher selects the unique overload from this list with matching arguments.args- The arguments to pass to the function.- Returns:
- The result of the function call.
- Throws:
InterpreterException- if something goes wrong.
-
immutableCopy
Dispatcher.ImmutableCopy immutableCopy()
Returns anDispatcher.ImmutableCopyfrom current instance.- See Also:
Dispatcher.ImmutableCopy
-
-