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

com.bandwidth.voice.models.CreateCallRequest 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.1
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.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.JsonSerialize;

/**
 * This is a model class for CreateCallRequest type.
 */
public class CreateCallRequest {
    private String from;
    private String to;
    private String answerUrl;
    private String applicationId;

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

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

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

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

    @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 answerMethod;

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

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

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

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

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private MachineDetectionConfiguration machineDetection;

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

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

    /**
     * Initialization constructor.
     * @param  from  String value for from.
     * @param  to  String value for to.
     * @param  answerUrl  String value for answerUrl.
     * @param  applicationId  String value for applicationId.
     * @param  uui  String value for uui.
     * @param  callTimeout  Double value for callTimeout.
     * @param  callbackTimeout  Double value for callbackTimeout.
     * @param  answerFallbackUrl  String value for answerFallbackUrl.
     * @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  answerMethod  AnswerMethodEnum value for answerMethod.
     * @param  answerFallbackMethod  AnswerFallbackMethodEnum value for answerFallbackMethod.
     * @param  disconnectUrl  String value for disconnectUrl.
     * @param  disconnectMethod  DisconnectMethodEnum value for disconnectMethod.
     * @param  tag  String value for tag.
     * @param  machineDetection  MachineDetectionConfiguration value for machineDetection.
     * @param  priority Integer value for priority
     */
    public CreateCallRequest(
            String from,
            String to,
            String answerUrl,
            String applicationId,
            String uui,
            Double callTimeout,
            Double callbackTimeout,
            String answerFallbackUrl,
            String username,
            String password,
            String fallbackUsername,
            String fallbackPassword,
            AnswerMethodEnum answerMethod,
            AnswerFallbackMethodEnum answerFallbackMethod,
            String disconnectUrl,
            DisconnectMethodEnum disconnectMethod,
            String tag,
            MachineDetectionConfiguration machineDetection,
            Integer priority) {
        this.from = from;
        this.to = to;
        this.uui = OptionalNullable.of(uui);
        this.callTimeout = OptionalNullable.of(callTimeout);
        this.callbackTimeout = OptionalNullable.of(callbackTimeout);
        this.answerUrl = answerUrl;
        this.answerFallbackUrl = OptionalNullable.of(answerFallbackUrl);
        this.username = OptionalNullable.of(username);
        this.password = OptionalNullable.of(password);
        this.fallbackUsername = OptionalNullable.of(fallbackUsername);
        this.fallbackPassword = OptionalNullable.of(fallbackPassword);
        this.answerMethod = OptionalNullable.of(answerMethod);
        this.answerFallbackMethod = OptionalNullable.of(answerFallbackMethod);
        this.disconnectUrl = OptionalNullable.of(disconnectUrl);
        this.disconnectMethod = OptionalNullable.of(disconnectMethod);
        this.tag = OptionalNullable.of(tag);
        this.applicationId = applicationId;
        this.machineDetection = machineDetection;
        this.priority = priority;
    }

    /**
     * Internal initialization constructor.
     */
    protected CreateCallRequest(String from, String to, String answerUrl, String applicationId,
            OptionalNullable uui, OptionalNullable callTimeout,
            OptionalNullable callbackTimeout, OptionalNullable answerFallbackUrl,
            OptionalNullable username, OptionalNullable password,
            OptionalNullable fallbackUsername, OptionalNullable fallbackPassword,
            OptionalNullable answerMethod,
            OptionalNullable answerFallbackMethod,
            OptionalNullable disconnectUrl,
            OptionalNullable disconnectMethod, OptionalNullable tag,
            MachineDetectionConfiguration machineDetection, Integer priority) {
        this.from = from;
        this.to = to;
        this.uui = uui;
        this.callTimeout = callTimeout;
        this.callbackTimeout = callbackTimeout;
        this.answerUrl = answerUrl;
        this.answerFallbackUrl = answerFallbackUrl;
        this.username = username;
        this.password = password;
        this.fallbackUsername = fallbackUsername;
        this.fallbackPassword = fallbackPassword;
        this.answerMethod = answerMethod;
        this.answerFallbackMethod = answerFallbackMethod;
        this.disconnectUrl = disconnectUrl;
        this.disconnectMethod = disconnectMethod;
        this.tag = tag;
        this.applicationId = applicationId;
        this.machineDetection = machineDetection;
        this.priority = priority;
    }

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

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

    /**
     * Getter for To.
     * Format is E164 or SIP URI
     * @return Returns the String
     */
    @JsonGetter("to")
    public String getTo() {
        return to;
    }

    /**
     * Setter for To.
     * Format is E164 or SIP URI
     * @param to Value for String
     */
    @JsonSetter("to")
    public void setTo(String to) {
        this.to = to;
    }

    /**
     * Internal Getter for Uui.
     * A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP
     * URI. Each value must end with an 'encoding' parameter as described in
     * https://tools.ietf.org/html/rfc7433. Only 'jwt' and 'base64' encodings are allowed. The
     * entire value cannot exceed 350 characters, including parameters and separators.
     * @return Returns the Internal String
     */
    @JsonGetter("uui")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetUui() {
        return this.uui;
    }

    /**
     * Getter for Uui.
     * A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP
     * URI. Each value must end with an 'encoding' parameter as described in
     * https://tools.ietf.org/html/rfc7433. Only 'jwt' and 'base64' encodings are allowed. The
     * entire value cannot exceed 350 characters, including parameters and separators.
     * @return Returns the String
     */
    public String getUui() {
        return OptionalNullable.getFrom(uui);
    }

    /**
     * Setter for Uui.
     * A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP
     * URI. Each value must end with an 'encoding' parameter as described in
     * https://tools.ietf.org/html/rfc7433. Only 'jwt' and 'base64' encodings are allowed. The
     * entire value cannot exceed 350 characters, including parameters and separators.
     * @param uui Value for String
     */
    @JsonSetter("uui")
    public void setUui(String uui) {
        this.uui = OptionalNullable.of(uui);
    }

    /**
     * UnSetter for Uui.
     * A comma-separated list of 'User-To-User' headers to be sent in the INVITE when calling a SIP
     * URI. Each value must end with an 'encoding' parameter as described in
     * https://tools.ietf.org/html/rfc7433. Only 'jwt' and 'base64' encodings are allowed. The
     * entire value cannot exceed 350 characters, including parameters and separators.
     */
    public void unsetUui() {
        uui = null;
    }

    /**
     * Internal Getter for CallTimeout.
     * @return Returns the Internal Double
     */
    @JsonGetter("callTimeout")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCallTimeout() {
        return this.callTimeout;
    }

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

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

    /**
     * UnSetter for CallTimeout.
     */
    public void unsetCallTimeout() {
        callTimeout = null;
    }

    /**
     * Internal Getter for CallbackTimeout.
     * @return Returns the Internal Double
     */
    @JsonGetter("callbackTimeout")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetCallbackTimeout() {
        return this.callbackTimeout;
    }

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

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

    /**
     * UnSetter for CallbackTimeout.
     */
    public void unsetCallbackTimeout() {
        callbackTimeout = null;
    }

    /**
     * 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;
    }

    /**
     * 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 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 AnswerMethod.
     * @return Returns the Internal AnswerMethodEnum
     */
    @JsonGetter("answerMethod")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetAnswerMethod() {
        return this.answerMethod;
    }

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

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

    /**
     * UnSetter for AnswerMethod.
     */
    public void unsetAnswerMethod() {
        answerMethod = 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;
    }

    /**
     * Internal Getter for DisconnectMethod.
     * @return Returns the Internal DisconnectMethodEnum
     */
    @JsonGetter("disconnectMethod")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetDisconnectMethod() {
        return this.disconnectMethod;
    }

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

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

    /**
     * UnSetter for DisconnectMethod.
     */
    public void unsetDisconnectMethod() {
        disconnectMethod = 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;
    }

    /**
     * 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 MachineDetection.
     * @return Returns the MachineDetectionConfiguration
     */
    @JsonGetter("machineDetection")
    public MachineDetectionConfiguration getMachineDetection() {
        return machineDetection;
    }

    /**
     * Setter for MachineDetection.
     * @param machineDetection Value for MachineDetectionRequest
     */
    @JsonSetter("machineDetection")
    public void setMachineDetection(MachineDetectionConfiguration machineDetection) {
        this.machineDetection = machineDetection;
    }

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

    /**
     * Getter for Priority.
     * @return Returns the Priority
     */
    @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;
    }

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

    /**
     * Builds a new {@link CreateCallRequest.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link CreateCallRequest.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder(from, to, answerUrl, applicationId)
                .machineDetection(getMachineDetection());
        builder.uui = internalGetUui();
        builder.callTimeout = internalGetCallTimeout();
        builder.callbackTimeout = internalGetCallbackTimeout();
        builder.answerFallbackUrl = internalGetAnswerFallbackUrl();
        builder.username = internalGetUsername();
        builder.password = internalGetPassword();
        builder.fallbackUsername = internalGetFallbackUsername();
        builder.fallbackPassword = internalGetFallbackPassword();
        builder.answerMethod = internalGetAnswerMethod();
        builder.answerFallbackMethod = internalGetAnswerFallbackMethod();
        builder.disconnectUrl = internalGetDisconnectUrl();
        builder.disconnectMethod = internalGetDisconnectMethod();
        builder.tag = internalGetTag();
        builder.priority = internalGetPriority();
        return builder;
    }

    /**
     * Class to build instances of {@link CreateCallRequest}.
     */
    public static class Builder {
        private String from;
        private String to;
        private String answerUrl;
        private String applicationId;
        private OptionalNullable uui;
        private OptionalNullable callTimeout;
        private OptionalNullable callbackTimeout;
        private OptionalNullable answerFallbackUrl;
        private OptionalNullable username;
        private OptionalNullable password;
        private OptionalNullable fallbackUsername;
        private OptionalNullable fallbackPassword;
        private OptionalNullable answerMethod;
        private OptionalNullable answerFallbackMethod;
        private OptionalNullable disconnectUrl;
        private OptionalNullable disconnectMethod;
        private OptionalNullable tag;
        private MachineDetectionConfiguration machineDetection;
        private Integer priority;

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

        /**
         * Initialization constructor.
         * @param  from  String value for from.
         * @param  to  String value for to.
         * @param  answerUrl  String value for answerUrl.
         * @param  applicationId  String value for applicationId.
         */
        public Builder(String from, String to, String answerUrl, String applicationId) {
            this.from = from;
            this.to = to;
            this.answerUrl = answerUrl;
            this.applicationId = applicationId;
        }

        /**
         * Setter for from.
         * @param  from  String value for from.
         * @return Builder
         */
        public Builder from(String from) {
            this.from = from;
            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 answerUrl.
         * @param  answerUrl  String value for answerUrl.
         * @return Builder
         */
        public Builder answerUrl(String answerUrl) {
            this.answerUrl = answerUrl;
            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 uui.
         * @param  uui  String value for uui.
         * @return Builder
         */
        public Builder uui(String uui) {
            this.uui = OptionalNullable.of(uui);
            return this;
        }

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

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

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

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

        /**
         * UnSetter for callbackTimeout.
         * @return Builder
         */
        public Builder unsetCallbackTimeout() {
            callbackTimeout = null;
            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 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 answerMethod.
         * @param  answerMethod  AnswerMethodEnum value for answerMethod.
         * @return Builder
         */
        public Builder answerMethod(AnswerMethodEnum answerMethod) {
            this.answerMethod = OptionalNullable.of(answerMethod);
            return this;
        }

        /**
         * UnSetter for answerMethod.
         * @return Builder
         */
        public Builder unsetAnswerMethod() {
            answerMethod = 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 disconnectMethod.
         * @param  disconnectMethod  DisconnectMethodEnum value for disconnectMethod.
         * @return Builder
         */
        public Builder disconnectMethod(DisconnectMethodEnum disconnectMethod) {
            this.disconnectMethod = OptionalNullable.of(disconnectMethod);
            return this;
        }

        /**
         * UnSetter for disconnectMethod.
         * @return Builder
         */
        public Builder unsetDisconnectMethod() {
            disconnectMethod = 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 machineDetection.
         * @param  machineDetection  MachineDetectionConfiguration value for machineDetection.
         * @return Builder
         */
        public Builder machineDetection(MachineDetectionConfiguration machineDetection) {
            this.machineDetection = machineDetection;
            return this;
        }

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

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy