001/* 002 * Copyright (c) 2013 Nu Echo Inc. All rights reserved. 003 */ 004 005package com.nuecho.rivr.core.dialogue; 006 007import com.nuecho.rivr.core.channel.*; 008 009/** 010 * Creates dialogues. 011 * 012 * @param <F> type of {@link FirstTurn} 013 * @param <L> type of {@link LastTurn} 014 * @param <O> type of {@link OutputTurn} 015 * @param <I> type of {@link InputTurn} 016 * @param <C> type of {@link DialogueContext} 017 * @author Nu Echo Inc. 018 */ 019public interface DialogueFactory<I extends InputTurn, O extends OutputTurn, F extends FirstTurn, L extends LastTurn, C extends DialogueContext<I, O>> { 020 021 Dialogue<I, O, F, L, C> create(DialogueInitializationInfo<I, O, C> dialogueInitializationInfo) 022 throws DialogueFactoryException; 023}