T
- The type of object that this renderer knows how to render.public interface Renderer<T>
Renderers are typically not used directly.
Instead, they are used via by Context.render(Object)
method.
See RendererSupport
for support base class for implementations.
An alternative to implementing a renderer for a type is to make the type directly implement Renderable
.
RendererSupport
,
RenderableDecorator
,
Renderable
Modifier and Type | Method and Description |
---|---|
java.lang.Class<T> |
getType()
The type of object that this renderer can render.
|
static <T> Renderer<T> |
of(java.lang.Class<T> type,
java.util.function.BiConsumer<? super Context,? super T> impl)
Creates a renderer implementation from the given arguments.
|
void |
render(Context context,
T object)
Render the given object to the response.
|
static <T> com.google.common.reflect.TypeToken<Renderer<T>> |
typeOf(java.lang.Class<T> typeToRender)
Creates a type token for a renderer of the given type of object.
|
static <T> Renderer<T> of(java.lang.Class<T> type, java.util.function.BiConsumer<? super Context,? super T> impl)
T
- the type of object-to-rendertype
- the type of object-to-renderimpl
- the implementation of the render(Context, Object)
methodstatic <T> com.google.common.reflect.TypeToken<Renderer<T>> typeOf(java.lang.Class<T> typeToRender)
T
- the type that the renderer renderstypeToRender
- the type that the renderer rendersjava.lang.Class<T> getType()
@NonBlocking void render(Context context, T object) throws java.lang.Exception
Calling this method will finalize the processing, sending the response to the client.
Any errors that occur during rendering will be sent to Context.error(Throwable)
.
context
- the context for the operationobject
- the object to renderjava.lang.Exception
- if anything goes wrong while rendering