/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠHP ĠDevelopment ĠCompany , ĠL . P . Ċ Ġ* ĠSPDX - License - Identifier : ĠMIT Ċ Ġ*/ Ċ Ċ package Ġcom . hp . k ale xa . model . response . dsl Ċ Ċ import Ġcom . hp . k ale xa . model . can ful fill . Can Ful fill Intent Ċ import Ġcom . hp . k ale xa . model . directive . Directive Ċ import Ġcom . hp . k ale xa . model . response . Response Ċ import Ġcom . hp . k ale xa . model . response . annotation . Alex a Response Dsl Ċ import Ġcom . hp . k ale xa . model . ui . Card Ċ import Ġcom . hp . k ale xa . model . ui . Output Speech Ċ import Ġcom . hp . k ale xa . model . ui . Plain Text Output Speech Ċ import Ġcom . hp . k ale xa . model . ui . Re prompt Ċ import Ġcom . hp . k ale xa . model . ui . Simple Card Ċ import Ġcom . hp . k ale xa . model . ui . Ss ml Output Speech Ċ import Ġcom . hp . k ale xa . model . ui . Standard Card Ċ Ċ @ Alex a Response Dsl Ċ class ĠResponse Builder Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġoutput Speech : ĠOutput Speech ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcard : ĠCard ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġdirectives Ġ= Ġmutable ListOf < Directive >() ĊĠĠĠ Ġvar Ġshould End Session : ĠBoolean ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġrepro mpt : ĠRe prompt ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcan Ful fill Intent : ĠCan Ful fill Intent ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġspeech ( block : ĠPlain Text Output Speech . () Ġ-> ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠPlain Text Output Speech (). apply Ġ{ Ġtext Ġ= Ġblock () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġss ml Speech ( block : ĠS s ml Output Speech . () Ġ-> ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput Speech Ġ= ĠS s ml Output Speech (). apply Ġ{ Ġss ml Ġ= Ġblock () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcard ( block : Ġ() Ġ-> ĠCard ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcard Ġ= Ġblock () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsimple Card ( block : ĠSimple Card . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcard Ġ= ĠSimple Card (). apply Ġ{ Ġblock () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstandard Card ( block : ĠStandard Card . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcard Ġ= ĠStandard Card (). apply Ġ{ Ġblock () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrepro mpt ( block : ĠRe prompt Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepro mpt Ġ= ĠRe prompt Builder (). apply Ġ{ Ġblock () Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcan Ful fill Intent ( block : ĠCan Ful fill Intent Builder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcan Ful fill Intent Ġ= ĠCan Ful fill Intent Builder (). apply Ġ{ Ġblock () Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdirectives ( block : ĠDirect ives . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdirectives . addAll ( Directives (). apply Ġ{ Ġblock () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbuild (): ĠResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspeech let Response Ġ= ĠResponse () ĊĠĠĠĠĠĠĠ Ġspeech let Response . output Speech Ġ= Ġoutput Speech ĊĠĠĠĠĠĠĠ Ġspeech let Response . card Ġ= Ġcard ĊĠĠĠĠĠĠĠ Ġspeech let Response . re prompt Ġ= Ġrepro mpt ĊĠĠĠĠĠĠĠ Ġspeech let Response . directives Ġ= Ġdirectives ĊĠĠĠĠĠĠĠ Ġspeech let Response . should End Session Ġ= Ġshould End Session ĊĠĠĠĠĠĠĠ Ġspeech let Response . can Ful fill Intent Ġ= Ġcan Ful fill Intent ĊĠĠĠĠĠĠĠ Ġreturn Ġspeech let Response ĊĠĠĠ Ġ} Ċ } Ċ