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}