public TypeCheckingScope newScope(Closure code) { TypeCheckingScope scope = newScope(); Closure callback = code.rehydrate(scope, this, this); callback.call(); return scope; }
public TypeCheckingScope scopeExit(Closure code) { TypeCheckingScope scope = scopeData.peek(); Closure copy = code.rehydrate(scope, this, this); copy.call(); return scopeExit(); }
private String execute(final PreciseShardingValue shardingValue) { Closure<?> result = closure.rehydrate(new Expando(), null, null); result.setResolveStrategy(Closure.DELEGATE_ONLY); result.setProperty(shardingValue.getColumnName(), shardingValue.getValue()); return result.call().toString(); }
private static <T> T configure(Object spec, Object delegate, Closure<T> closure) { Closure<T> clonedClosure = closure.rehydrate(delegate, spec, closure.getThisObject()); clonedClosure.setResolveStrategy(Closure.DELEGATE_FIRST); return clonedClosure.call(delegate); }
protected static <T> T invokeDslStatement(Closure<?> statement, final Supplier<T> delegate, final Object... args){ final T result; statement = statement.rehydrate(result = delegate.get(), statement.getOwner(), statement.getThisObject()); statement.call(args); return result; }
public static Action<Object> action(final Closure<?> closure) { final Closure<?> copy = closure.rehydrate(null, closure.getOwner(), closure.getThisObject()); return new NoDelegateClosureAction(copy); }
private Closure<?> cloneClosure(final List<String> columnNames, final List<Comparable> values) { Closure<?> result = closureTemplate.rehydrate(new Expando(), null, null); result.setResolveStrategy(Closure.DELEGATE_ONLY); result.setProperty("log", closureTemplate.getProperty("log")); for (int i = 0; i < values.size(); i++) { result.setProperty(columnNames.get(i), new ShardingValueWrapper(values.get(i))); } return result; } }
private String execute(final PreciseShardingValue shardingValue) { Closure<?> result = closure.rehydrate(new Expando(), null, null); result.setResolveStrategy(Closure.DELEGATE_ONLY); result.setProperty(shardingValue.getColumnName(), shardingValue.getValue()); return result.call().toString(); }
private static <T> void configureTarget(Closure configureClosure, T target, ConfigureDelegate closureDelegate) { if (!(configureClosure instanceof GeneratedClosure)) { new ClosureBackedAction<T>(configureClosure, Closure.DELEGATE_FIRST, false).execute(target); return; } // Hackery to make closure execution faster, by short-circuiting the expensive property and method lookup on Closure Closure withNewOwner = configureClosure.rehydrate(target, closureDelegate, configureClosure.getThisObject()); new ClosureBackedAction<T>(withNewOwner, Closure.OWNER_ONLY, false).execute(target); } }
try { @SuppressWarnings("rawtypes") Closure closure = getCacheLoader().rehydrate(getScriptHelper(), safeBinding, getScriptHelper()); closure.call(myLoadKeys);
try { @SuppressWarnings("rawtypes") Closure closure = getCacheLoader().rehydrate(getScriptHelper(), safeBinding, getScriptHelper()); closure.call(myLoadKeys);
asyncBody = body.rehydrate(asyncInstance, asyncInstance, asyncInstance);
asyncBody = body.rehydrate(asyncInstance, asyncInstance, asyncInstance);