in src/main/java/org/apache/sling/pipes/BasePipe.java [142:165]
private void extractAdditionalBindings(@NotNull Resource resource, @Nullable PipeBindings upperBindings) {
bindings = upperBindings == null ? new PipeBindings(plumber, resource) : upperBindings;
//additional bindings (global variables to use in child pipes expressions)
Resource additionalBindings = resource.getChild(NN_ADDITIONALBINDINGS);
if (additionalBindings != null) {
logger.debug("additional bindings are detected");
ValueMap additionalMap = additionalBindings.adaptTo(ValueMap.class);
bindings.addBindings(additionalMap);
for (String ignoredProperty : BasePipe.IGNORED_PROPERTIES){
bindings.getBindings().remove(ignoredProperty);
}
fillInProviders(additionalBindings);
}
Resource scriptsResource = resource.getChild(PN_ADDITIONALSCRIPTS);
if (scriptsResource != null) {
String[] scripts = scriptsResource.adaptTo(String[].class);
if (scripts != null) {
for (String script : scripts){
bindings.addScript(resource.getResourceResolver(), script);
}
}
}
bindings.addBinding(getName(), EMPTY);
}