Package io.debezium.transforms.scripting
Class GraalJsEngine
java.lang.Object
io.debezium.transforms.scripting.Jsr223Engine
io.debezium.transforms.scripting.GraalJsEngine
- All Implemented Interfaces:
Engine
An implementation of the expression language evaluator based on GraalVM. Key
and value structs are exposed as
ProxyObjects, allowing for
simplified property references.- Author:
- Jiri Pechanec
-
Field Summary
Fields inherited from class io.debezium.transforms.scripting.Jsr223Engine
engine -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate org.graalvm.polyglot.proxy.ProxyObjectasProxyObject(Map<String, ?> map) Exposes the given Map as aProxyObject, allowing for simplified property reference.private org.graalvm.polyglot.proxy.ProxyObjectasProxyObject(org.apache.kafka.connect.data.Struct struct) Exposes the given struct as aProxyObject, allowing for simplified property references, also providing any write access.protected voidprotected 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) Methods inherited from class io.debezium.transforms.scripting.Jsr223Engine
configure, doHeaders, eval, getBindings
-
Constructor Details
-
GraalJsEngine
public GraalJsEngine()
-
-
Method Details
-
configureEngine
protected void configureEngine()- Overrides:
configureEnginein classJsr223Engine
-
key
- Overrides:
keyin classJsr223Engine
-
value
- Overrides:
valuein classJsr223Engine
-
headers
- Overrides:
headersin classJsr223Engine
-
header
- Overrides:
headerin classJsr223Engine
-
asProxyObject
private org.graalvm.polyglot.proxy.ProxyObject asProxyObject(org.apache.kafka.connect.data.Struct struct) Exposes the given struct as aProxyObject, allowing for simplified property references, also providing any write access. -
asProxyObject
Exposes the given Map as aProxyObject, allowing for simplified property reference.
-