@Override protected SoyValue compute() { return convertNonPrimitive(obj).resolve(); }
@Override public SoyValue apply(SoyValueProvider provider) { Preconditions.checkNotNull(provider); return provider.resolve(); } };
@Override public SoyValue apply(SoyValueProvider provider) { Preconditions.checkNotNull(provider); return provider.resolve(); } };
private SoyValue getFieldInternal(String name) { SoyValueProvider provider = providerMap.get(name); return (provider != null) ? provider.resolve() : null; }
/** Helper function to translate NullData -> null when resolving a SoyValueProvider. */ public static SoyValue resolveSoyValueProvider(SoyValueProvider provider) { SoyValue value = provider.resolve(); return handleTofuNull(value); }
@Override public final SoyValue get(int index) { SoyValueProvider valueProvider = getProvider(index); return (valueProvider != null) ? valueProvider.resolve() : null; }
@Override public SoyValue get(SoyValue key) { SoyValueProvider provider = getProvider(key); return (provider != null) ? provider.resolve() : null; }
@Override public SoyValue getField(@Nonnull String name) { SoyValueProvider fieldProvider = getFieldProvider(name); return fieldProvider == null ? null : fieldProvider.resolve(); }
@Override public SoyValue getField(String name) { SoyValueProvider valueProvider = getFieldProvider(name); return (valueProvider != null) ? valueProvider.resolve() : null; }
@Override public SoyValue get(SoyValue key) { SoyValueProvider provider = getProvider(key); return (provider != null) ? provider.resolve() : null; }
@Override public SoyValue getField(String name) { SoyValueProvider valueProvider = getFieldProvider(name); return (valueProvider != null) ? valueProvider.resolve() : null; }
@Override SoyValue getVar(VarDefn var) { return getVarProvider(var).resolve(); }
/** * Creates a Soy map from a Java map. While this is O(n) in the map's shallow size, the Java * values are converted into Soy values lazily and only once. The keys are converted eagerly. */ private SoyMap newSoyMapFromJavaMap(Map<?, ?> javaMap) { Map<SoyValue, SoyValueProvider> map = Maps.newHashMapWithExpectedSize(javaMap.size()); for (Map.Entry<?, ?> entry : javaMap.entrySet()) { map.put(convert(entry.getKey()).resolve(), convertLazy(entry.getValue())); } return SoyMapImpl.forProviderMap(map); }
@Override int getIndex(LoopVar loopVar) { return localVariableTable[loopVar.currentLoopIndexIndex()].resolve().integerValue(); } }
@Override int getIndex(LoopVar loopVar) { return localVariableTable[loopVar.currentLoopIndexIndex()].resolve().integerValue(); } }
@Override SoyValue getVar(VarDefn var) { if (var.kind() == Kind.UNDECLARED) { // Special case for legacy templates with undeclared params. Undeclared params aren't // assigned indices in the local variable table. SoyValue value = data.getField(var.name()); return value != null ? value : checkNotNull(UndefinedData.INSTANCE); } return localVariableTable[var.localVariableIndex()].resolve(); }
@Override int getIndex(LoopVar loopVar) { return doGetProvider(loopVar.name() + "__index").resolve().integerValue(); }
@Override SoyValue getVar(VarDefn var) { if (var.kind() == Kind.UNDECLARED) { // Special case for legacy templates with undeclared params. Undeclared params aren't // assigned indices in the local variable table. SoyValue value = data.getField(var.name()); return value != null ? value : checkNotNull(UndefinedData.INSTANCE); } return localVariableTable[var.localVariableIndex()].resolve(); }
@Override int getIndex(LoopVar loopVar) { return doGetProvider(loopVar.name() + "__index").resolve().integerValue(); }
private TofuJavaValue wrapInTofuValue(Method method, Object object) { if (object instanceof SoyValue) { return TofuJavaValue.forSoyValue((SoyValue) object, fn.getSourceLocation()); } try { return TofuJavaValue.forSoyValue( SoyValueConverter.INSTANCE.convert(object).resolve(), fn.getSourceLocation()); } catch (SoyDataException e) { throw RenderException.create("Invalid return value from `" + method + "`", e); } }