Skip to content

Commit 5519555

Browse files
authored
[Fix #819] Allow passing scope supplier to JQExpression constructor (#820)
1 parent 01f64f8 commit 5519555

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

impl/jackson/src/main/java/io/serverlessworkflow/impl/expressions/jq/JQExpressionFactory.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.time.OffsetDateTime;
2626
import java.util.Collection;
2727
import java.util.Map;
28+
import java.util.Objects;
2829
import java.util.function.Supplier;
2930
import net.thisptr.jackson.jq.BuiltinFunctionLoader;
3031
import net.thisptr.jackson.jq.Scope;
@@ -35,7 +36,15 @@ public class JQExpressionFactory extends ObjectExpressionFactory {
3536

3637
private WorkflowModelFactory modelFactory = new JacksonModelFactory();
3738

38-
private static Supplier<Scope> scopeSupplier = new DefaultScopeSupplier();
39+
private final Supplier<Scope> scopeSupplier;
40+
41+
public JQExpressionFactory() {
42+
this(new DefaultScopeSupplier());
43+
}
44+
45+
public JQExpressionFactory(Supplier<Scope> scopeSupplier) {
46+
this.scopeSupplier = Objects.requireNonNull(scopeSupplier, "scopeSupplier must be not null");
47+
}
3948

4049
private static class DefaultScopeSupplier implements Supplier<Scope> {
4150
private static class DefaultScope {

0 commit comments

Comments
 (0)