Package io.debezium.transforms.scripting
Class Jsr223Engine
- java.lang.Object
-
- io.debezium.transforms.scripting.Jsr223Engine
-
- All Implemented Interfaces:
Engine
- Direct Known Subclasses:
GraalJsEngine
public class Jsr223Engine extends Object implements Engine
An implementation of the expression language evaluator based on JSR 223 scripting languages. The expression receives variables to work with- key - key of the record
- value - value of the record
- keySchema - schema for key
- valueSchema - schema for value
- Author:
- Jiri Pechanec
-
-
Field Summary
Fields Modifier and Type Field Description protected ScriptEngineengineprivate Stringexpressionprivate CompiledScriptscript
-
Constructor Summary
Constructors Constructor Description Jsr223Engine()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigure(String language, String expression)Pre-compiles the expression for repeated execution.protected voidconfigureEngine()protected Map<String,RecordHeader>doHeaders(org.apache.kafka.connect.connector.ConnectRecord<?> record)<T> Teval(org.apache.kafka.connect.connector.ConnectRecord<?> record, Class<T> type)Calculate a value out of the record.protected BindingsgetBindings(org.apache.kafka.connect.connector.ConnectRecord<?> record)protected RecordHeaderheader(org.apache.kafka.connect.header.Header header)protected Objectheaders(org.apache.kafka.connect.connector.ConnectRecord<?> record)protected Objectkey(org.apache.kafka.connect.connector.ConnectRecord<?> record)protected Objectvalue(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
-
-
Field Detail
-
expression
private String expression
-
script
private CompiledScript script
-
engine
protected ScriptEngine engine
-
-
Method Detail
-
configure
public void configure(String language, String expression)
Description copied from interface:EnginePre-compiles the expression for repeated execution. The method is called once upon the engine initialization.
-
configureEngine
protected void configureEngine()
-
getBindings
protected Bindings getBindings(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
key
protected Object key(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
value
protected Object value(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
header
protected RecordHeader header(org.apache.kafka.connect.header.Header header)
-
headers
protected Object headers(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
doHeaders
protected Map<String,RecordHeader> doHeaders(org.apache.kafka.connect.connector.ConnectRecord<?> record)
-
-