001package com.plivo.api.models.tollfree_verification;
002
003import com.plivo.api.models.base.Creator;
004import com.plivo.api.util.Utils;
005import retrofit2.Call;
006
007public class TollfreeVerificationCreator extends Creator<TollfreeVerificationCreateResponse> {
008
009  private String profileUuid;
010  private String number;
011  private String usecase;
012  private String usecaseSummary;
013  private String messageSample;
014  private String optinImageUrl;
015  private String optinType;
016  private String volume;
017  private String additionalInformation;
018  private String extraData;
019  private String callbackUrl;
020  private String callbackMethod;
021
022  TollfreeVerificationCreator(String profileUuid, String number, String usecase, String usecaseSummary, String optinImageUrl,
023                              String messageSample, String optinType, String volume, String additionalInformation, String extraData, String callbackUrl, String callbackMethod) {
024    if (!Utils.allNotNull(profileUuid, number, usecase, usecaseSummary, optinImageUrl, optinType, volume, additionalInformation)) {
025      throw new IllegalArgumentException("profileUuid, number, usecase, usecaseSummary, optinImageUrl, optinType, volume, additionalInformation must not be null");
026    }
027
028    this.profileUuid = profileUuid;
029    this.number = number;
030    this.usecase = usecase;
031    this.usecaseSummary = usecaseSummary;
032    this.messageSample = messageSample;
033    this.optinImageUrl = optinImageUrl;
034    this.optinType = optinType;
035    this.volume = volume;
036    this.additionalInformation = additionalInformation;
037    this.extraData = extraData;
038    this.callbackUrl = callbackUrl;
039    this.callbackMethod = callbackMethod;
040
041  }
042
043  TollfreeVerificationCreator(String profileUuid, String number, String usecase, String usecaseSummary, String optinImageUrl,
044                              String messageSample, String optinType, String volume, String additionalInformation) {
045    if (!Utils.allNotNull(profileUuid, number, usecase, usecaseSummary, optinImageUrl, optinType, volume, additionalInformation)) {
046      throw new IllegalArgumentException("profileUuid, number, usecase, usecaseSummary, optinImageUrl, optinType, volume, additionalInformation must not be null");
047    }
048
049    this.profileUuid = profileUuid;
050    this.number = number;
051    this.usecase = usecase;
052    this.usecaseSummary = usecaseSummary;
053    this.messageSample = messageSample;
054    this.optinImageUrl = optinImageUrl;
055    this.optinType = optinType;
056    this.volume = volume;
057    this.additionalInformation = additionalInformation;
058  }
059
060  TollfreeVerificationCreator() {}
061
062
063  @Override
064  protected Call<TollfreeVerificationCreateResponse> obtainCall() {
065    return client().getApiService().tollfreeVerificationCreate(client().getAuthId(), this);
066  }
067
068  public String profileUuid() {
069    return profileUuid;
070  }
071
072  public TollfreeVerificationCreator profileUuid(final String profileUuid) {
073    this.profileUuid = profileUuid;
074    return this;
075  }
076
077  public String number() {
078    return number;
079  }
080
081  public TollfreeVerificationCreator number(final String number) {
082    this.number = number;
083    return this;
084  }
085
086  public String usecase() {
087    return usecase;
088  }
089
090  public TollfreeVerificationCreator usecase(final String usecase) {
091    this.usecase = usecase;
092    return this;
093  }
094
095  public String callbackMethod() {
096    return callbackMethod;
097  }
098
099  public TollfreeVerificationCreator callbackMethod(final String callbackMethod) {
100    this.callbackMethod = callbackMethod;
101    return this;
102  }
103
104  public String callbackUrl() {
105    return callbackUrl;
106  }
107
108  public TollfreeVerificationCreator callbackUrl(final String callbackUrl) {
109    this.callbackUrl = callbackUrl;
110    return this;
111  }
112
113  public String extraData() {
114    return extraData;
115  }
116
117  public TollfreeVerificationCreator extraData(final String extraData) {
118    this.extraData = extraData;
119    return this;
120  }
121
122  public String additionalInformation() {
123    return additionalInformation;
124  }
125
126  public TollfreeVerificationCreator additionalInformation(final String additionalInformation) {
127    this.additionalInformation = additionalInformation;
128    return this;
129  }
130
131  public String volume() {
132    return volume;
133  }
134
135  public TollfreeVerificationCreator volume(final String volume) {
136    this.volume = volume;
137    return this;
138  }
139
140  public String optinType() {
141    return optinType;
142  }
143
144  public TollfreeVerificationCreator optinType(final String optinType) {
145    this.optinType = optinType;
146    return this;
147  }
148
149  public String optinImageUrl() {
150    return optinImageUrl;
151  }
152
153  public TollfreeVerificationCreator optinImageUrl(final String optinImageUrl) {
154    this.optinImageUrl = optinImageUrl;
155    return this;
156  }
157
158  public String messageSample() {
159    return messageSample;
160  }
161
162  public TollfreeVerificationCreator messageSample(final String messageSample) {
163    this.messageSample = messageSample;
164    return this;
165  }
166
167  public String usecaseSummary() {
168    return usecaseSummary;
169  }
170
171  public TollfreeVerificationCreator usecaseSummary(final String usecaseSummary) {
172    this.usecaseSummary = usecaseSummary;
173    return this;
174  }
175}