001/* 002 * Copyright (c) 2013 Nu Echo Inc. All rights reserved. 003 */ 004 005package com.nuecho.rivr.core.servlet; 006 007import javax.servlet.http.*; 008 009import com.nuecho.rivr.core.channel.*; 010import com.nuecho.rivr.core.dialogue.*; 011 012/** 013 * Renders {@link OutputTurn} and {@link LastTurn} into 014 * {@link ServletResponseContent} 015 * 016 * @author Nu Echo Inc. 017 */ 018public interface StepRenderer<I extends InputTurn, O extends OutputTurn, L extends LastTurn, C extends DialogueContext<I, O>> { 019 020 ServletResponseContent createDocumentForOutputTurn(O outputTurn, 021 HttpServletRequest request, 022 HttpServletResponse response, 023 C dialogueContext) throws StepRendererException; 024 025 ServletResponseContent createDocumentForLastTurn(L lastTurn, 026 HttpServletRequest request, 027 HttpServletResponse response, 028 C dialogueContext) throws StepRendererException; 029 030}