SOURCE - the type of the input object used inside the templatepublic final class TemplateRenderer<SOURCE> extends Renderer<SOURCE>
Renderer instances, with fluent API.of(String),
https://www.polymer-project.org/2.0/docs/devguide/templates,
Serialized Form| Modifier and Type | Method and Description |
|---|---|
static <SOURCE> TemplateRenderer<SOURCE> |
of(String template)
Creates a new TemplateRenderer based on the provided template.
|
TemplateRenderer<SOURCE> |
withEventHandler(String handlerName,
SerializableConsumer<SOURCE> handler)
Sets an event handler for events from elements inside the template.
|
TemplateRenderer<SOURCE> |
withProperty(String property,
ValueProvider<SOURCE,?> provider)
Sets a property to be used inside the template.
|
getEventHandlers, getValueProviders, render, render, setEventHandler, setPropertypublic static <SOURCE> TemplateRenderer<SOURCE> of(String template)
<template>
element, and works with Polymer data binding syntax.
Examples:
// Prints the index of the item inside a repeating list
TemplateRenderer.of("[[index]]");
// Prints the property of an item
TemplateRenderer.of("<div>Property: [[item.property]]</div>");
SOURCE - the type of the input object used inside the templatetemplate - the template used to render items, not nullwithProperty(String, ValueProvider)public TemplateRenderer<SOURCE> withProperty(String property, ValueProvider<SOURCE,?> provider)
[[item.property]]
syntax.
Examples:
// Regular property
TemplateRenderer.<Person> of("<div>Name: [[item.name]]</div>")
.withProperty("name", Person::getName);
// Property that uses a bean. Note that in this case the entire "Address" object will be sent to the template.
// Note that even properties of the bean which are not used in the template are sent to the client, so use
// this feature with caution.
TemplateRenderer.<Person> of("<span>Street: [[item.address.street]]</span>")
.withProperty("address", Person::getAddress);
// In this case only the street field inside the Address object is sent
TemplateRenderer.<Person> of("<span>Street: [[item.street]]</span>")
.withProperty("street", person -> person.getAddress().getStreet());
Any types supported by the JsonSerializer are valid types for the
TemplateRenderer.property - the name of the property used inside the template, not
nullprovider - a ValueProvider that provides the actual value for the
property, not nullpublic TemplateRenderer<SOURCE> withEventHandler(String handlerName, SerializableConsumer<SOURCE> handler)
on-event
syntax.
Examples:
// Standard event
TemplateRenderer.of("<button on-click='handleClick'>Click me</button>")
.withEventHandler("handleClick", object -> doSomething());
// You can handle custom events from webcomponents as well, using the same syntax
TemplateRenderer.of("<my-webcomponent on-customevent=
'onCustomEvent'></my-webcomponent>")
.withEventHandler("onCustomEvent", object -> doSomething());
The name of the function used on the on-event attribute should be
the name used at the handlerName parameter. This name must be a valid
Javascript function name.handlerName - the name of the handler used inside the
on-event="handlerName", not nullhandler - the handler executed when the event is triggered, not
nullCopyright © 2025. All rights reserved.