001package com.plivo.api.models.conference; 002 003import com.fasterxml.jackson.annotation.JsonIgnore; 004import com.plivo.api.PlivoClient; 005import com.plivo.api.exceptions.PlivoRestException; 006import com.plivo.api.models.base.Creator; 007import java.io.IOException; 008import retrofit2.Call; 009 010public class ConferenceRecordCreator extends Creator<ConferenceRecordCreateResponse> { 011 012 @JsonIgnore 013 private final String conferenceName; 014 private String fileFormat; 015 private String transcriptionType; 016 private String transcriptionUrl; 017 private String transcriptionMethod; 018 private String callbackUrl; 019 private String callbackMethod; 020 021 public ConferenceRecordCreator(String conferenceName) { 022 this.conferenceName = conferenceName; 023 } 024 025 public String fileFormat() { 026 return this.fileFormat; 027 } 028 029 public String transcriptionType() { 030 return this.transcriptionType; 031 } 032 033 public String transcriptionUrl() { 034 return this.transcriptionUrl; 035 } 036 037 public String transcriptionMethod() { 038 return this.transcriptionMethod; 039 } 040 041 public String callbackUrl() { 042 return this.callbackUrl; 043 } 044 045 public String callbackMethod() { 046 return this.callbackMethod; 047 } 048 049 public ConferenceRecordCreator fileFormat(final String fileFormat) { 050 this.fileFormat = fileFormat; 051 return this; 052 } 053 054 public ConferenceRecordCreator transcriptionType(final String transcriptionType) { 055 this.transcriptionType = transcriptionType; 056 return this; 057 } 058 059 public ConferenceRecordCreator transcriptionUrl(final String transcriptionUrl) { 060 this.transcriptionUrl = transcriptionUrl; 061 return this; 062 } 063 064 public ConferenceRecordCreator transcriptionMethod(final String transcriptionMethod) { 065 this.transcriptionMethod = transcriptionMethod; 066 return this; 067 } 068 069 public ConferenceRecordCreator callbackUrl(final String callbackUrl) { 070 this.callbackUrl = callbackUrl; 071 return this; 072 } 073 074 public ConferenceRecordCreator callbackMethod(final String callbackMethod) { 075 this.callbackMethod = callbackMethod; 076 return this; 077 } 078 079 @Override 080 protected Call<ConferenceRecordCreateResponse> obtainCall() { 081 return client().getApiService().conferenceRecordCreate(client().getAuthId(), conferenceName); 082 } 083 084 public ConferenceRecordCreateResponse record() throws IOException, PlivoRestException { 085 return create(); 086 } 087 088 @Override 089 public ConferenceRecordCreator client(final PlivoClient plivoClient) { 090 this.plivoClient = plivoClient; 091 return this; 092 } 093 094 095}