001package com.plivo.api.models.callfeedback; 002 003import com.plivo.api.models.base.Creator; 004import com.plivo.api.util.Utils; 005import retrofit2.Call; 006 007import java.util.List; 008 009public class CallFeedbackCreator extends Creator<CallFeedbackCreateResponse> { 010 011 private String callUUID; 012 private Float rating; 013 private List<String> issues; 014 private String notes; 015 016 CallFeedbackCreator(String callUUID, Float rating) { 017 if (!Utils.allNotNull(callUUID, rating)) { 018 throw new IllegalArgumentException("callUUID or rating cannot be null"); 019 } 020 if (rating < 1 && rating > 5) { 021 throw new IllegalArgumentException("Rating has to be a float between 1 - 5"); 022 } 023 this.callUUID = callUUID; 024 this.rating = rating; 025 } 026 027 public CallFeedbackCreator issues(final List<String> issues){ 028 this.issues = issues; 029 return this; 030 } 031 032 public CallFeedbackCreator notes(final String notes){ 033 this.notes = notes; 034 return this; 035 } 036 037 @Override 038 protected Call<CallFeedbackCreateResponse> obtainCall() { 039 return client().getCallInsightsAPIService().callFeedbackCreate(callUUID, this); 040 } 041 042}