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.VoiceDeleter;
006import com.plivo.api.exceptions.PlivoValidationException;
007import com.plivo.api.models.call.Call;
008import java.io.IOException;
009import okhttp3.ResponseBody;
010
011public class CallStreamDeleteSpecific extends VoiceDeleter<Call> {
012
013  private String streamId;
014
015  public CallStreamDeleteSpecific(String id, String streamId) {
016    super(id, streamId);
017    this.streamId = streamId;
018  }
019
020  @Override
021  protected retrofit2.Call<ResponseBody> obtainCall() {
022    return client().getVoiceApiService().callStreamDeleteSpecific(client().getAuthId(), id, streamId);
023  }
024
025  @Override
026  protected retrofit2.Call<ResponseBody> obtainFallback1Call() {
027    return client().getVoiceFallback1Service().callStreamDeleteSpecific(client().getAuthId(), id, streamId);
028  }
029
030  @Override
031  protected retrofit2.Call<ResponseBody> obtainFallback2Call() {
032    return client().getVoiceFallback2Service().callStreamDeleteSpecific(client().getAuthId(), id, streamId);
033  }
034
035  public void stop() throws IOException, PlivoRestException, PlivoValidationException {
036    delete();
037  }
038
039  @Override
040  public CallStreamDeleteSpecific client(final PlivoClient plivoClient) {
041    this.plivoClient = plivoClient;
042    return this;
043  }
044
045  public CallStreamDeleteSpecific streamId(final String streamId) {
046    this.streamId = streamId;
047    return this;
048  }
049
050}