All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bandwidth.voice.models.CreateCallResponse Maven / Gradle / Ivy

Go to download

The official client SDK for Bandwidth's Voice, Messaging, MFA, and WebRTC APIs

There is a newer version: 12.0.0
Show newest version
/*
 * BandwidthLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

package com.bandwidth.voice.models;

import com.bandwidth.DateTimeHelper;
import com.bandwidth.internal.OptionalNullable;
import com.fasterxml.jackson.annotation.JsonGetter;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.LocalDateTime;

/**
 * This is a model class for CreateCallResponse type.
 */
public class CreateCallResponse {
    private String accountId;
    private String callId;
    private String applicationId;
    private String to;
    private String from;
    private String callUrl;
    private DisconnectMethodEnum disconnectMethod;
    private String answerUrl;
    private AnswerMethodEnum answerMethod;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private LocalDateTime enqueuedTime;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Double callTimeout;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Double callbackTimeout;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable answerFallbackUrl;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable answerFallbackMethod;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable disconnectUrl;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable username;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable password;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable fallbackUsername;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable fallbackPassword;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable tag;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer priority;

    /**
     * Default constructor.
     */
    public CreateCallResponse() {
    }

    /**
     * Initialization constructor.
     * @param  accountId  String value for accountId.
     * @param  callId  String value for callId.
     * @param  applicationId  String value for applicationId.
     * @param  to  String value for to.
     * @param  from  String value for from.
     * @param  callUrl  String value for callUrl.
     * @param  answerUrl  String value for answerUrl.
     * @param  answerMethod  AnswerMethodEnum value for answerMethod.
     * @param  disconnectMethod  DisconnectMethodEnum value for disconnectMethod.
     * @param  enqueuedTime  LocalDateTime value for enqueuedTime.
     * @param  callTimeout  Double value for callTimeout.
     * @param  callbackTimeout  Double value for callbackTimeout.
     * @param  answerFallbackUrl  String value for answerFallbackUrl.
     * @param  answerFallbackMethod  AnswerFallbackMethodEnum value for answerFallbackMethod.
     * @param  disconnectUrl  String value for disconnectUrl.
     * @param  username  String value for username.
     * @param  password  String value for password.
     * @param  fallbackUsername  String value for fallbackUsername.
     * @param  fallbackPassword  String value for fallbackPassword.
     * @param  tag  String value for tag.
     * @param  priority Integer value for priority.
     */
    public CreateCallResponse(
            String accountId,
            String callId,
            String applicationId,
            String to,
            String from,
            String callUrl,
            String answerUrl,
            AnswerMethodEnum answerMethod,
            DisconnectMethodEnum disconnectMethod,
            LocalDateTime enqueuedTime,
            Double callTimeout,
            Double callbackTimeout,
            String answerFallbackUrl,
            AnswerFallbackMethodEnum answerFallbackMethod,
            String disconnectUrl,
            String username,
            String password,
            String fallbackUsername,
            String fallbackPassword,
            String tag,
            Integer priority) {
        this.accountId = accountId;
        this.callId = callId;
        this.applicationId = applicationId;
        this.to = to;
        this.from = from;
        this.enqueuedTime = enqueuedTime;
        this.callUrl = callUrl;
        this.callTimeout = callTimeout;
        this.callbackTimeout = callbackTimeout;
        this.answerUrl = answerUrl;
        this.answerMethod = answerMethod;
        this.answerFallbackUrl = OptionalNullable.of(answerFallbackUrl);
        this.answerFallbackMethod = OptionalNullable.of(answerFallbackMethod);
        this.disconnectUrl = OptionalNullable.of(disconnectUrl);
        this.disconnectMethod = disconnectMethod;
        this.username = OptionalNullable.of(username);
        this.password = OptionalNullable.of(password);
        this.fallbackUsername = OptionalNullable.of(fallbackUsername);
        this.fallbackPassword = OptionalNullable.of(fallbackPassword);
        this.tag = OptionalNullable.of(tag);
        this.priority = priority;
    }

    /**
     * Internal initialization constructor.
     */
    protected CreateCallResponse(String accountId, String callId, String applicationId, String to,
            String from, String callUrl, String answerUrl, AnswerMethodEnum answerMethod,
            DisconnectMethodEnum disconnectMethod, LocalDateTime enqueuedTime, Double callTimeout,
            Double callbackTimeout, OptionalNullable answerFallbackUrl,
            OptionalNullable answerFallbackMethod,
            OptionalNullable disconnectUrl, OptionalNullable username,
            OptionalNullable password, OptionalNullable fallbackUsername,
            OptionalNullable fallbackPassword, OptionalNullable tag, Integer priority) {
        this.accountId = accountId;
        this.callId = callId;
        this.applicationId = applicationId;
        this.to = to;
        this.from = from;
        this.enqueuedTime = enqueuedTime;
        this.callUrl = callUrl;
        this.callTimeout = callTimeout;
        this.callbackTimeout = callbackTimeout;
        this.answerUrl = answerUrl;
        this.answerMethod = answerMethod;
        this.answerFallbackUrl = answerFallbackUrl;
        this.answerFallbackMethod = answerFallbackMethod;
        this.disconnectUrl = disconnectUrl;
        this.disconnectMethod = disconnectMethod;
        this.username = username;
        this.password = password;
        this.fallbackUsername = fallbackUsername;
        this.fallbackPassword = fallbackPassword;
        this.tag = tag;
        this.priority = priority;
    }

    /**
     * Getter for AccountId.
     * @return Returns the String
     */
    @JsonGetter("accountId")
    public String getAccountId() {
        return accountId;
    }

    /**
     * Setter for AccountId.
     * @param accountId Value for String
     */
    @JsonSetter("accountId")
    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    /**
     * Getter for CallId.
     * @return Returns the String
     */
    @JsonGetter("callId")
    public String getCallId() {
        return callId;
    }

    /**
     * Setter for CallId.
     * @param callId Value for String
     */
    @JsonSetter("callId")
    public void setCallId(String callId) {
        this.callId = callId;
    }

    /**
     * Getter for ApplicationId.
     * @return Returns the String
     */
    @JsonGetter("applicationId")
    public String getApplicationId() {
        return applicationId;
    }

    /**
     * Setter for ApplicationId.
     * @param applicationId Value for String
     */
    @JsonSetter("applicationId")
    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    /**
     * Getter for To.
     * @return Returns the String
     */
    @JsonGetter("to")
    public String getTo() {
        return to;
    }

    /**
     * Setter for To.
     * @param to Value for String
     */
    @JsonSetter("to")
    public void setTo(String to) {
        this.to = to;
    }

    /**
     * Getter for From.
     * @return Returns the String
     */
    @JsonGetter("from")
    public String getFrom() {
        return from;
    }

    /**
     * Setter for From.
     * @param from Value for String
     */
    @JsonSetter("from")
    public void setFrom(String from) {
        this.from = from;
    }

    /**
     * Getter for EnqueuedTime.
     * @return Returns the LocalDateTime
     */
    @JsonGetter("enqueuedTime")
    @JsonSerialize(using = DateTimeHelper.Rfc8601DateTimeSerializer.class)
    public LocalDateTime getEnqueuedTime() {
        return enqueuedTime;
    }

    /**
     * Setter for EnqueuedTime.
     * @param enqueuedTime Value for LocalDateTime
     */
    @JsonSetter("enqueuedTime")
    @JsonDeserialize(using = DateTimeHelper.Rfc8601DateTimeDeserializer.class)
    public void setEnqueuedTime(LocalDateTime enqueuedTime) {
        this.enqueuedTime = enqueuedTime;
    }

    /**
     * Getter for CallUrl.
     * @return Returns the String
     */
    @JsonGetter("callUrl")
    public String getCallUrl() {
        return callUrl;
    }

    /**
     * Setter for CallUrl.
     * @param callUrl Value for String
     */
    @JsonSetter("callUrl")
    public void setCallUrl(String callUrl) {
        this.callUrl = callUrl;
    }

    /**
     * Getter for CallTimeout.
     * @return Returns the Double
     */
    @JsonGetter("callTimeout")
    public Double getCallTimeout() {
        return callTimeout;
    }

    /**
     * Setter for CallTimeout.
     * @param callTimeout Value for Double
     */
    @JsonSetter("callTimeout")
    public void setCallTimeout(Double callTimeout) {
        this.callTimeout = callTimeout;
    }

    /**
     * Getter for CallbackTimeout.
     * @return Returns the Double
     */
    @JsonGetter("callbackTimeout")
    public Double getCallbackTimeout() {
        return callbackTimeout;
    }

    /**
     * Setter for CallbackTimeout.
     * @param callbackTimeout Value for Double
     */
    @JsonSetter("callbackTimeout")
    public void setCallbackTimeout(Double callbackTimeout) {
        this.callbackTimeout = callbackTimeout;
    }

    /**
     * Getter for AnswerUrl.
     * @return Returns the String
     */
    @JsonGetter("answerUrl")
    public String getAnswerUrl() {
        return answerUrl;
    }

    /**
     * Setter for AnswerUrl.
     * @param answerUrl Value for String
     */
    @JsonSetter("answerUrl")
    public void setAnswerUrl(String answerUrl) {
        this.answerUrl = answerUrl;
    }

    /**
     * Getter for AnswerMethod.
     * @return Returns the AnswerMethodEnum
     */
    @JsonGetter("answerMethod")
    public AnswerMethodEnum getAnswerMethod() {
        return answerMethod;
    }

    /**
     * Setter for AnswerMethod.
     * @param answerMethod Value for AnswerMethodEnum
     */
    @JsonSetter("answerMethod")
    public void setAnswerMethod(AnswerMethodEnum answerMethod) {
        this.answerMethod = answerMethod;
    }

    /**
     * Internal Getter for AnswerFallbackUrl.
     * @return Returns the Internal String
     */
    @JsonGetter("answerFallbackUrl")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAnswerFallbackUrl() {
        return this.answerFallbackUrl;
    }

    /**
     * Getter for AnswerFallbackUrl.
     * @return Returns the String
     */
    public String getAnswerFallbackUrl() {
        return OptionalNullable.getFrom(answerFallbackUrl);
    }

    /**
     * Setter for AnswerFallbackUrl.
     * @param answerFallbackUrl Value for String
     */
    @JsonSetter("answerFallbackUrl")
    public void setAnswerFallbackUrl(String answerFallbackUrl) {
        this.answerFallbackUrl = OptionalNullable.of(answerFallbackUrl);
    }

    /**
     * UnSetter for AnswerFallbackUrl.
     */
    public void unsetAnswerFallbackUrl() {
        answerFallbackUrl = null;
    }

    /**
     * Internal Getter for AnswerFallbackMethod.
     * @return Returns the Internal AnswerFallbackMethodEnum
     */
    @JsonGetter("answerFallbackMethod")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAnswerFallbackMethod() {
        return this.answerFallbackMethod;
    }

    /**
     * Getter for AnswerFallbackMethod.
     * @return Returns the AnswerFallbackMethodEnum
     */
    public AnswerFallbackMethodEnum getAnswerFallbackMethod() {
        return OptionalNullable.getFrom(answerFallbackMethod);
    }

    /**
     * Setter for AnswerFallbackMethod.
     * @param answerFallbackMethod Value for AnswerFallbackMethodEnum
     */
    @JsonSetter("answerFallbackMethod")
    public void setAnswerFallbackMethod(AnswerFallbackMethodEnum answerFallbackMethod) {
        this.answerFallbackMethod = OptionalNullable.of(answerFallbackMethod);
    }

    /**
     * UnSetter for AnswerFallbackMethod.
     */
    public void unsetAnswerFallbackMethod() {
        answerFallbackMethod = null;
    }

    /**
     * Internal Getter for DisconnectUrl.
     * @return Returns the Internal String
     */
    @JsonGetter("disconnectUrl")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetDisconnectUrl() {
        return this.disconnectUrl;
    }

    /**
     * Getter for DisconnectUrl.
     * @return Returns the String
     */
    public String getDisconnectUrl() {
        return OptionalNullable.getFrom(disconnectUrl);
    }

    /**
     * Setter for DisconnectUrl.
     * @param disconnectUrl Value for String
     */
    @JsonSetter("disconnectUrl")
    public void setDisconnectUrl(String disconnectUrl) {
        this.disconnectUrl = OptionalNullable.of(disconnectUrl);
    }

    /**
     * UnSetter for DisconnectUrl.
     */
    public void unsetDisconnectUrl() {
        disconnectUrl = null;
    }

    /**
     * Getter for DisconnectMethod.
     * @return Returns the DisconnectMethodEnum
     */
    @JsonGetter("disconnectMethod")
    public DisconnectMethodEnum getDisconnectMethod() {
        return disconnectMethod;
    }

    /**
     * Setter for DisconnectMethod.
     * @param disconnectMethod Value for DisconnectMethodEnum
     */
    @JsonSetter("disconnectMethod")
    public void setDisconnectMethod(DisconnectMethodEnum disconnectMethod) {
        this.disconnectMethod = disconnectMethod;
    }

    /**
     * Internal Getter for Username.
     * @return Returns the Internal String
     */
    @JsonGetter("username")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetUsername() {
        return this.username;
    }

    /**
     * Getter for Username.
     * @return Returns the String
     */
    public String getUsername() {
        return OptionalNullable.getFrom(username);
    }

    /**
     * Setter for Username.
     * @param username Value for String
     */
    @JsonSetter("username")
    public void setUsername(String username) {
        this.username = OptionalNullable.of(username);
    }

    /**
     * UnSetter for Username.
     */
    public void unsetUsername() {
        username = null;
    }

    /**
     * Internal Getter for Password.
     * @return Returns the Internal String
     */
    @JsonGetter("password")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetPassword() {
        return this.password;
    }

    /**
     * Getter for Password.
     * @return Returns the String
     */
    public String getPassword() {
        return OptionalNullable.getFrom(password);
    }

    /**
     * Setter for Password.
     * @param password Value for String
     */
    @JsonSetter("password")
    public void setPassword(String password) {
        this.password = OptionalNullable.of(password);
    }

    /**
     * UnSetter for Password.
     */
    public void unsetPassword() {
        password = null;
    }

    /**
     * Internal Getter for FallbackUsername.
     * @return Returns the Internal String
     */
    @JsonGetter("fallbackUsername")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetFallbackUsername() {
        return this.fallbackUsername;
    }

    /**
     * Getter for FallbackUsername.
     * @return Returns the String
     */
    public String getFallbackUsername() {
        return OptionalNullable.getFrom(fallbackUsername);
    }

    /**
     * Setter for FallbackUsername.
     * @param fallbackUsername Value for String
     */
    @JsonSetter("fallbackUsername")
    public void setFallbackUsername(String fallbackUsername) {
        this.fallbackUsername = OptionalNullable.of(fallbackUsername);
    }

    /**
     * UnSetter for FallbackUsername.
     */
    public void unsetFallbackUsername() {
        fallbackUsername = null;
    }

    /**
     * Internal Getter for FallbackPassword.
     * @return Returns the Internal String
     */
    @JsonGetter("fallbackPassword")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetFallbackPassword() {
        return this.fallbackPassword;
    }

    /**
     * Getter for FallbackPassword.
     * @return Returns the String
     */
    public String getFallbackPassword() {
        return OptionalNullable.getFrom(fallbackPassword);
    }

    /**
     * Setter for FallbackPassword.
     * @param fallbackPassword Value for String
     */
    @JsonSetter("fallbackPassword")
    public void setFallbackPassword(String fallbackPassword) {
        this.fallbackPassword = OptionalNullable.of(fallbackPassword);
    }

    /**
     * UnSetter for FallbackPassword.
     */
    public void unsetFallbackPassword() {
        fallbackPassword = null;
    }

    /**
     * Internal Getter for Tag.
     * @return Returns the Internal String
     */
    @JsonGetter("tag")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetTag() {
        return this.tag;
    }

    /**
     * Getter for Tag.
     * @return Returns the String
     */
    public String getTag() {
        return OptionalNullable.getFrom(tag);
    }

    /**
     * Setter for Tag.
     * @param tag Value for String
     */
    @JsonSetter("tag")
    public void setTag(String tag) {
        this.tag = OptionalNullable.of(tag);
    }

    /**
     * UnSetter for Tag.
     */
    public void unsetTag() {
        tag = null;
    }

    /**
     * Internal Getter for Priority.
     * @return Returns the Internal Integer
     */
    @JsonGetter("priority")
    protected Integer internalGetPriority() {
        return this.priority;
    }

    /**
     * Getter for Priority.
     * @return Returns the Integer
     */
    @JsonGetter("priority")
    public Integer getPriority() { return this.priority; }

    /**
     * Setter for Priority.
     * @param priority Value for Integer
     */
    @JsonSetter("priority")
    public void setPriority(Integer priority) { this.priority = priority; }

    /**
     * UnSetter for Tag.
     */
    public void unsetPriority() {
        priority = null;
    }

    /**
     * Converts this CreateCallResponse into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "CreateCallResponse [" + "accountId=" + accountId + ", callId=" + callId
                + ", applicationId=" + applicationId + ", to=" + to + ", from=" + from
                + ", callUrl=" + callUrl + ", answerUrl=" + answerUrl + ", answerMethod="
                + answerMethod + ", disconnectMethod=" + disconnectMethod + ", enqueuedTime="
                + enqueuedTime + ", callTimeout=" + callTimeout + ", callbackTimeout="
                + callbackTimeout + ", answerFallbackUrl=" + answerFallbackUrl
                + ", answerFallbackMethod=" + answerFallbackMethod + ", disconnectUrl="
                + disconnectUrl + ", username=" + username + ", password=" + password
                + ", fallbackUsername=" + fallbackUsername + ", fallbackPassword="
                + fallbackPassword + ", tag=" + tag + ", priority=" + priority + "]";
    }

    /**
     * Builds a new {@link CreateCallResponse.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link CreateCallResponse.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder(accountId, callId, applicationId, to, from, callUrl,
                answerUrl, answerMethod, disconnectMethod)
                .enqueuedTime(getEnqueuedTime())
                .callTimeout(getCallTimeout())
                .callbackTimeout(getCallbackTimeout());
        builder.answerFallbackUrl = internalGetAnswerFallbackUrl();
        builder.answerFallbackMethod = internalGetAnswerFallbackMethod();
        builder.disconnectUrl = internalGetDisconnectUrl();
        builder.username = internalGetUsername();
        builder.password = internalGetPassword();
        builder.fallbackUsername = internalGetFallbackUsername();
        builder.fallbackPassword = internalGetFallbackPassword();
        builder.tag = internalGetTag();
        builder.priority = internalGetPriority();
        return builder;
    }

    /**
     * Class to build instances of {@link CreateCallResponse}.
     */
    public static class Builder {
        private String accountId;
        private String callId;
        private String applicationId;
        private String to;
        private String from;
        private String callUrl;
        private String answerUrl;
        private AnswerMethodEnum answerMethod;
        private DisconnectMethodEnum disconnectMethod;
        private LocalDateTime enqueuedTime;
        private Double callTimeout;
        private Double callbackTimeout;
        private OptionalNullable answerFallbackUrl;
        private OptionalNullable answerFallbackMethod;
        private OptionalNullable disconnectUrl;
        private OptionalNullable username;
        private OptionalNullable password;
        private OptionalNullable fallbackUsername;
        private OptionalNullable fallbackPassword;
        private OptionalNullable tag;
        private Integer priority;


        /**
         * Initialization constructor.
         */
        public Builder() {
        }

        /**
         * Initialization constructor.
         * @param  accountId  String value for accountId.
         * @param  callId  String value for callId.
         * @param  applicationId  String value for applicationId.
         * @param  to  String value for to.
         * @param  from  String value for from.
         * @param  callUrl  String value for callUrl.
         * @param  answerUrl  String value for answerUrl.
         * @param  answerMethod  AnswerMethodEnum value for answerMethod.
         * @param  disconnectMethod  DisconnectMethodEnum value for disconnectMethod.
         */
        public Builder(String accountId, String callId, String applicationId, String to,
                String from, String callUrl, String answerUrl, AnswerMethodEnum answerMethod,
                DisconnectMethodEnum disconnectMethod) {
            this.accountId = accountId;
            this.callId = callId;
            this.applicationId = applicationId;
            this.to = to;
            this.from = from;
            this.callUrl = callUrl;
            this.answerUrl = answerUrl;
            this.answerMethod = answerMethod;
            this.disconnectMethod = disconnectMethod;
        }

        /**
         * Setter for accountId.
         * @param  accountId  String value for accountId.
         * @return Builder
         */
        public Builder accountId(String accountId) {
            this.accountId = accountId;
            return this;
        }

        /**
         * Setter for callId.
         * @param  callId  String value for callId.
         * @return Builder
         */
        public Builder callId(String callId) {
            this.callId = callId;
            return this;
        }

        /**
         * Setter for applicationId.
         * @param  applicationId  String value for applicationId.
         * @return Builder
         */
        public Builder applicationId(String applicationId) {
            this.applicationId = applicationId;
            return this;
        }

        /**
         * Setter for to.
         * @param  to  String value for to.
         * @return Builder
         */
        public Builder to(String to) {
            this.to = to;
            return this;
        }

        /**
         * Setter for from.
         * @param  from  String value for from.
         * @return Builder
         */
        public Builder from(String from) {
            this.from = from;
            return this;
        }

        /**
         * Setter for callUrl.
         * @param  callUrl  String value for callUrl.
         * @return Builder
         */
        public Builder callUrl(String callUrl) {
            this.callUrl = callUrl;
            return this;
        }

        /**
         * Setter for answerUrl.
         * @param  answerUrl  String value for answerUrl.
         * @return Builder
         */
        public Builder answerUrl(String answerUrl) {
            this.answerUrl = answerUrl;
            return this;
        }

        /**
         * Setter for answerMethod.
         * @param  answerMethod  AnswerMethodEnum value for answerMethod.
         * @return Builder
         */
        public Builder answerMethod(AnswerMethodEnum answerMethod) {
            this.answerMethod = answerMethod;
            return this;
        }

        /**
         * Setter for disconnectMethod.
         * @param  disconnectMethod  DisconnectMethodEnum value for disconnectMethod.
         * @return Builder
         */
        public Builder disconnectMethod(DisconnectMethodEnum disconnectMethod) {
            this.disconnectMethod = disconnectMethod;
            return this;
        }

        /**
         * Setter for enqueuedTime.
         * @param  enqueuedTime  LocalDateTime value for enqueuedTime.
         * @return Builder
         */
        public Builder enqueuedTime(LocalDateTime enqueuedTime) {
            this.enqueuedTime = enqueuedTime;
            return this;
        }

        /**
         * Setter for callTimeout.
         * @param  callTimeout  Double value for callTimeout.
         * @return Builder
         */
        public Builder callTimeout(Double callTimeout) {
            this.callTimeout = callTimeout;
            return this;
        }

        /**
         * Setter for callbackTimeout.
         * @param  callbackTimeout  Double value for callbackTimeout.
         * @return Builder
         */
        public Builder callbackTimeout(Double callbackTimeout) {
            this.callbackTimeout = callbackTimeout;
            return this;
        }

        /**
         * Setter for answerFallbackUrl.
         * @param  answerFallbackUrl  String value for answerFallbackUrl.
         * @return Builder
         */
        public Builder answerFallbackUrl(String answerFallbackUrl) {
            this.answerFallbackUrl = OptionalNullable.of(answerFallbackUrl);
            return this;
        }

        /**
         * UnSetter for answerFallbackUrl.
         * @return Builder
         */
        public Builder unsetAnswerFallbackUrl() {
            answerFallbackUrl = null;
            return this;
        }

        /**
         * Setter for answerFallbackMethod.
         * @param  answerFallbackMethod  AnswerFallbackMethodEnum value for answerFallbackMethod.
         * @return Builder
         */
        public Builder answerFallbackMethod(AnswerFallbackMethodEnum answerFallbackMethod) {
            this.answerFallbackMethod = OptionalNullable.of(answerFallbackMethod);
            return this;
        }

        /**
         * UnSetter for answerFallbackMethod.
         * @return Builder
         */
        public Builder unsetAnswerFallbackMethod() {
            answerFallbackMethod = null;
            return this;
        }

        /**
         * Setter for disconnectUrl.
         * @param  disconnectUrl  String value for disconnectUrl.
         * @return Builder
         */
        public Builder disconnectUrl(String disconnectUrl) {
            this.disconnectUrl = OptionalNullable.of(disconnectUrl);
            return this;
        }

        /**
         * UnSetter for disconnectUrl.
         * @return Builder
         */
        public Builder unsetDisconnectUrl() {
            disconnectUrl = null;
            return this;
        }

        /**
         * Setter for username.
         * @param  username  String value for username.
         * @return Builder
         */
        public Builder username(String username) {
            this.username = OptionalNullable.of(username);
            return this;
        }

        /**
         * UnSetter for username.
         * @return Builder
         */
        public Builder unsetUsername() {
            username = null;
            return this;
        }

        /**
         * Setter for password.
         * @param  password  String value for password.
         * @return Builder
         */
        public Builder password(String password) {
            this.password = OptionalNullable.of(password);
            return this;
        }

        /**
         * UnSetter for password.
         * @return Builder
         */
        public Builder unsetPassword() {
            password = null;
            return this;
        }

        /**
         * Setter for fallbackUsername.
         * @param  fallbackUsername  String value for fallbackUsername.
         * @return Builder
         */
        public Builder fallbackUsername(String fallbackUsername) {
            this.fallbackUsername = OptionalNullable.of(fallbackUsername);
            return this;
        }

        /**
         * UnSetter for fallbackUsername.
         * @return Builder
         */
        public Builder unsetFallbackUsername() {
            fallbackUsername = null;
            return this;
        }

        /**
         * Setter for fallbackPassword.
         * @param  fallbackPassword  String value for fallbackPassword.
         * @return Builder
         */
        public Builder fallbackPassword(String fallbackPassword) {
            this.fallbackPassword = OptionalNullable.of(fallbackPassword);
            return this;
        }

        /**
         * UnSetter for fallbackPassword.
         * @return Builder
         */
        public Builder unsetFallbackPassword() {
            fallbackPassword = null;
            return this;
        }

        /**
         * Setter for tag.
         * @param  tag  String value for tag.
         * @return Builder
         */
        public Builder tag(String tag) {
            this.tag = OptionalNullable.of(tag);
            return this;
        }

        /**
         * UnSetter for tag.
         * @return Builder
         */
        public Builder unsetTag() {
            tag = null;
            return this;
        }

        /**
         * Setter for priority.
         * @param  priority  Integer value for priority.
         * @return Builder
         */
        public Builder priority(Integer priority) {
            this.priority = priority;
            return this;
        }

        /**
         * UnSetter for tag.
         * @return Builder
         */
        public Builder unsetPriority() {
            priority = null;
            return this;
        }

        /**
         * Builds a new {@link CreateCallResponse} object using the set fields.
         * @return {@link CreateCallResponse}
         */
        public CreateCallResponse build() {
            return new CreateCallResponse(accountId, callId, applicationId, to, from, callUrl,
                    answerUrl, answerMethod, disconnectMethod, enqueuedTime, callTimeout,
                    callbackTimeout, answerFallbackUrl, answerFallbackMethod, disconnectUrl,
                    username, password, fallbackUsername, fallbackPassword, tag, priority);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy