package Ġcom . just ai . ja ic f . channel . ale xa Ċ Ċ import Ġcom . amazon . ask . dispatcher . request . handler . Handler Input Ċ import Ġcom . amazon . ask . dispatcher . request . handler . RequestHandler Ċ import Ġcom . amazon . ask . model . Intent Request Ċ import Ġcom . amazon . ask . model . Launch Request Ċ import Ġcom . amazon . ask . model . Response Ċ import Ġcom . amazon . ask . model . Session Ended Request Ċ import Ġcom . amazon . ask . model . interfaces . con versations . API Invocation Request Ċ import Ġcom . amazon . ask . model . interfaces . playback controller . Next Command Iss ued Request Ċ import Ġcom . amazon . ask . model . interfaces . playback controller . Pause Command Iss ued Request Ċ import Ġcom . amazon . ask . model . interfaces . playback controller . Play Command Iss ued Request Ċ import Ġcom . amazon . ask . model . interfaces . playback controller . Previous Command Iss ued Request Ċ import Ġcom . just ai . ja ic f . api . Bot Api Ċ import Ġcom . just ai . ja ic f . channel . Bot Channel Ċ import Ġcom . just ai . ja ic f . channel . ale xa . model . Alex a Event Ċ import Ġcom . just ai . ja ic f . channel . http . Http Bot Request Ċ import Ġcom . just ai . ja ic f . context . RequestContext Ċ import Ġjava . util .* Ċ Ċ class ĠAlex a RequestHandler ( ĊĠĠĠ Ġoverride Ġval Ġbot Api : ĠBot Api Ċ ): ĠBot Channel , ĠRequest Handler Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcan Handle ( input : ĠHandler Input ?) Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġhandle ( input : ĠHandler Input ?): ĠOptional < Response > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġcreate Request ( input !! ) Ġ?: Ġreturn ĠOptional . empty () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠAlex a Bot Response ( input . response Builder ) ĊĠĠĠĠĠĠĠ Ġval Ġhttp Bot Request Ġ= Ġ( input . context Ġas ĠHttp Bot Request ) ĊĊĠĠĠĠĠĠĠ Ġbot Api . process ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlex a Re actions ( response , Ġinput ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest Context ( new Session Ġ= Ġinput . request Envelope . session Ġ!= Ġnull Ġ&& Ġinput . request Envelope . session . new , Ġhttp Bot Request Ġ= Ġhttp Bot Request ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresponse . builder . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Request ( input : ĠHandler Input ): ĠAlex a Bot Request ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( input . request Ġis ĠIntent Request ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠAlex a Intent Request ( input ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( input . request ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLaunch Request Ġ-> ĠAlex a Event . LA UNCH ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSession Ended Request Ġ-> ĠAlex a Event . SESSION _ ENDED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPause Command Iss ued Request Ġ-> ĠAlex a Event . PAUSE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNext Command Iss ued Request Ġ-> ĠAlex a Event . NEXT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPrevious Command Iss ued Request Ġ-> ĠAlex a Event . PREV ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPlay Command Iss ued Request Ġ-> ĠAlex a Event . PLAY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠAPI Invocation Request Ġ-> Ġ( input . request Ġas ĠAPI Invocation Request ). api Request . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlex a Event Request ( input , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }