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}