001package com.plivo.api.models.multipartycall;
002
003import com.plivo.api.exceptions.PlivoValidationException;
004import com.plivo.api.models.base.VoiceUpdater;
005import com.plivo.api.validators.UrlValues;
006import com.plivo.api.validators.Validate;
007import retrofit2.Call;
008
009public class MultiPartyCallStartPlayAudio extends VoiceUpdater<MultiPartyCallStartPlayAudioResponse> {
010
011  @UrlValues
012  private String url;
013
014  public MultiPartyCallStartPlayAudio(String mpcId, String secondaryId) {
015    super(mpcId, secondaryId);
016  }
017
018  @Override
019  protected Call<MultiPartyCallStartPlayAudioResponse> obtainCall() throws PlivoValidationException {
020    MultiPartyCallUtils.validMultiPartyCallId(id);
021    Validate.check(this);
022    return client().getVoiceApiService().mpcStartPlayAudio(client().getAuthId(), id, secondaryId, this);
023  }
024
025  @Override
026  protected Call<MultiPartyCallStartPlayAudioResponse> obtainFallback1Call() throws PlivoValidationException {
027    MultiPartyCallUtils.validMultiPartyCallId(id);
028    Validate.check(this);
029    return client().getVoiceFallback1Service().mpcStartPlayAudio(client().getAuthId(), id, secondaryId, this);
030  }
031
032  @Override
033  protected Call<MultiPartyCallStartPlayAudioResponse> obtainFallback2Call() throws PlivoValidationException {
034    MultiPartyCallUtils.validMultiPartyCallId(id);
035    Validate.check(this);
036    return client().getVoiceFallback1Service().mpcStartPlayAudio(client().getAuthId(), id, secondaryId, this);
037  }
038
039  public String url() {
040    return url;
041  }
042
043  public MultiPartyCallStartPlayAudio url(String url) {
044    this.url = url;
045    return this;
046  }
047}