001package com.plivo.api.models.call.actions; 002 003import com.plivo.api.PlivoClient; 004import com.plivo.api.exceptions.PlivoRestException; 005import com.plivo.api.models.base.VoiceCreator; 006import com.plivo.api.models.call.LegSpecifier; 007import java.io.IOException; 008import retrofit2.Call; 009 010public class CallSpeakCreator extends VoiceCreator<CallSpeakCreateResponse> { 011 012 private final String id; 013 private final String text; 014 private final String type; 015 private String voice; 016 private String language; 017 private LegSpecifier legs; 018 private Boolean loop; 019 private Boolean mix; 020 021 public CallSpeakCreator(String id, String text) { 022 this.id = id; 023 this.text = text; 024 this.type = "text"; 025 } 026 027 public CallSpeakCreator(String id, String text, String type) { 028 this.id = id; 029 this.text = text; 030 this.type = type; 031 } 032 033 @Override 034 protected Call<CallSpeakCreateResponse> obtainCall() { 035 return client().getVoiceApiService().callSpeakCreate(client().getAuthId(), id, this); 036 } 037 038 @Override 039 protected Call<CallSpeakCreateResponse> obtainFallback1Call() { 040 return client().getVoiceFallback1Service().callSpeakCreate(client().getAuthId(), id, this); 041 } 042 043 @Override 044 protected Call<CallSpeakCreateResponse> obtainFallback2Call() { 045 return client().getVoiceFallback2Service().callSpeakCreate(client().getAuthId(), id, this); 046 } 047 048 public CallSpeakCreateResponse speak() throws IOException, PlivoRestException { 049 return create(); 050 } 051 052 @Override 053 public CallSpeakCreator client(final PlivoClient plivoClient) { 054 this.plivoClient = plivoClient; 055 return this; 056 } 057 058 059}