
org.slieb.soy.renderers.DataRenderer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of soy-annotations Show documentation
Show all versions of soy-annotations Show documentation
Soy utilities to easily convert and and render classes with soy
templates.
The newest version!
package org.slieb.soy.renderers;
import com.google.template.soy.data.SoyMapData;
import com.google.template.soy.data.SoyValue;
import com.google.template.soy.tofu.SoyTofu;
import org.slieb.soy.factories.rendering.Renderer;
import javax.annotation.Nullable;
import java.util.Set;
public class DataRenderer implements Renderer {
private final SoyTofu tofu;
private final Set activePackages;
private final String templateName;
public DataRenderer(SoyTofu tofu,
String templateName,
Set activePackages) {
this.tofu = tofu;
this.templateName = templateName;
this.activePackages = activePackages;
}
private SoyTofu.Renderer internalRenderer;
private SoyTofu.Renderer getRenderer() {
if (internalRenderer == null) {
internalRenderer = tofu
.newRenderer(templateName)
.setActiveDelegatePackageNames(activePackages);
}
return internalRenderer;
}
@Nullable
@Override
public String render(@Nullable SoyValue data) {
return getRenderer().setData((SoyMapData) data).render();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy