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

com.bandwidth.voice.models.ConferenceState 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;
import java.util.List;

/**
 * This is a model class for ConferenceState type.
 */
public class ConferenceState {
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String id;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private LocalDateTime createdTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable completedTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable conferenceEventUrl;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable conferenceEventMethod;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private OptionalNullable tag;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List activeMembers;

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

    /**
     * Initialization constructor.
     * @param  id  String value for id.
     * @param  name  String value for name.
     * @param  createdTime  LocalDateTime value for createdTime.
     * @param  completedTime  LocalDateTime value for completedTime.
     * @param  conferenceEventUrl  String value for conferenceEventUrl.
     * @param  conferenceEventMethod  ConferenceEventMethodEnum value for conferenceEventMethod.
     * @param  tag  String value for tag.
     * @param  activeMembers  List of ConferenceMemberState value for activeMembers.
     */
    public ConferenceState(
            String id,
            String name,
            LocalDateTime createdTime,
            LocalDateTime completedTime,
            String conferenceEventUrl,
            ConferenceEventMethodEnum conferenceEventMethod,
            String tag,
            List activeMembers) {
        this.id = id;
        this.name = name;
        this.createdTime = createdTime;
        this.completedTime = OptionalNullable.of(completedTime);
        this.conferenceEventUrl = OptionalNullable.of(conferenceEventUrl);
        this.conferenceEventMethod = OptionalNullable.of(conferenceEventMethod);
        this.tag = OptionalNullable.of(tag);
        this.activeMembers = activeMembers;
    }

    /**
     * Internal initialization constructor.
     */
    protected ConferenceState(String id, String name, LocalDateTime createdTime,
            OptionalNullable completedTime,
            OptionalNullable conferenceEventUrl,
            OptionalNullable conferenceEventMethod,
            OptionalNullable tag, List activeMembers) {
        this.id = id;
        this.name = name;
        this.createdTime = createdTime;
        this.completedTime = completedTime;
        this.conferenceEventUrl = conferenceEventUrl;
        this.conferenceEventMethod = conferenceEventMethod;
        this.tag = tag;
        this.activeMembers = activeMembers;
    }

    /**
     * Getter for Id.
     * @return Returns the String
     */
    @JsonGetter("id")
    public String getId() {
        return id;
    }

    /**
     * Setter for Id.
     * @param id Value for String
     */
    @JsonSetter("id")
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Getter for Name.
     * @return Returns the String
     */
    @JsonGetter("name")
    public String getName() {
        return name;
    }

    /**
     * Setter for Name.
     * @param name Value for String
     */
    @JsonSetter("name")
    public void setName(String name) {
        this.name = name;
    }

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

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

    /**
     * Internal Getter for CompletedTime.
     * @return Returns the Internal LocalDateTime
     */
    @JsonGetter("completedTime")
    @JsonSerialize(using = OptionalNullable.Rfc8601DateTimeSerializer.class)
    protected OptionalNullable internalGetCompletedTime() {
        return this.completedTime;
    }

    /**
     * Getter for CompletedTime.
     * @return Returns the LocalDateTime
     */
    public LocalDateTime getCompletedTime() {
        return OptionalNullable.getFrom(completedTime);
    }

    /**
     * Setter for CompletedTime.
     * @param completedTime Value for LocalDateTime
     */
    @JsonSetter("completedTime")
    @JsonDeserialize(using = DateTimeHelper.Rfc8601DateTimeDeserializer.class)
    public void setCompletedTime(LocalDateTime completedTime) {
        this.completedTime = OptionalNullable.of(completedTime);
    }

    /**
     * UnSetter for CompletedTime.
     */
    public void unsetCompletedTime() {
        completedTime = null;
    }

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

    /**
     * Getter for ConferenceEventUrl.
     * @return Returns the String
     */
    public String getConferenceEventUrl() {
        return OptionalNullable.getFrom(conferenceEventUrl);
    }

    /**
     * Setter for ConferenceEventUrl.
     * @param conferenceEventUrl Value for String
     */
    @JsonSetter("conferenceEventUrl")
    public void setConferenceEventUrl(String conferenceEventUrl) {
        this.conferenceEventUrl = OptionalNullable.of(conferenceEventUrl);
    }

    /**
     * UnSetter for ConferenceEventUrl.
     */
    public void unsetConferenceEventUrl() {
        conferenceEventUrl = null;
    }

    /**
     * Internal Getter for ConferenceEventMethod.
     * @return Returns the Internal ConferenceEventMethodEnum
     */
    @JsonGetter("conferenceEventMethod")
    @JsonSerialize(using = OptionalNullable.Serializer.class)
    protected OptionalNullable internalGetConferenceEventMethod() {
        return this.conferenceEventMethod;
    }

    /**
     * Getter for ConferenceEventMethod.
     * @return Returns the ConferenceEventMethodEnum
     */
    public ConferenceEventMethodEnum getConferenceEventMethod() {
        return OptionalNullable.getFrom(conferenceEventMethod);
    }

    /**
     * Setter for ConferenceEventMethod.
     * @param conferenceEventMethod Value for ConferenceEventMethodEnum
     */
    @JsonSetter("conferenceEventMethod")
    public void setConferenceEventMethod(ConferenceEventMethodEnum conferenceEventMethod) {
        this.conferenceEventMethod = OptionalNullable.of(conferenceEventMethod);
    }

    /**
     * UnSetter for ConferenceEventMethod.
     */
    public void unsetConferenceEventMethod() {
        conferenceEventMethod = 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 ActiveMembers.
     * @return Returns the List of ConferenceMemberState
     */
    @JsonGetter("activeMembers")
    public List getActiveMembers() {
        return activeMembers;
    }

    /**
     * Setter for ActiveMembers.
     * @param activeMembers Value for List of ConferenceMemberState
     */
    @JsonSetter("activeMembers")
    public void setActiveMembers(List activeMembers) {
        this.activeMembers = activeMembers;
    }

    /**
     * Converts this ConferenceState into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "ConferenceState [" + "id=" + id + ", name=" + name + ", createdTime=" + createdTime
                + ", completedTime=" + completedTime + ", conferenceEventUrl=" + conferenceEventUrl
                + ", conferenceEventMethod=" + conferenceEventMethod + ", tag=" + tag
                + ", activeMembers=" + activeMembers + "]";
    }

    /**
     * Builds a new {@link ConferenceState.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link ConferenceState.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder()
                .id(getId())
                .name(getName())
                .createdTime(getCreatedTime())
                .activeMembers(getActiveMembers());
        builder.completedTime = internalGetCompletedTime();
        builder.conferenceEventUrl = internalGetConferenceEventUrl();
        builder.conferenceEventMethod = internalGetConferenceEventMethod();
        builder.tag = internalGetTag();
        return builder;
    }

    /**
     * Class to build instances of {@link ConferenceState}.
     */
    public static class Builder {
        private String id;
        private String name;
        private LocalDateTime createdTime;
        private OptionalNullable completedTime;
        private OptionalNullable conferenceEventUrl;
        private OptionalNullable conferenceEventMethod;
        private OptionalNullable tag;
        private List activeMembers;



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

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

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

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

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

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

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

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

        /**
         * UnSetter for conferenceEventMethod.
         * @return Builder
         */
        public Builder unsetConferenceEventMethod() {
            conferenceEventMethod = 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 activeMembers.
         * @param  activeMembers  List of ConferenceMemberState value for activeMembers.
         * @return Builder
         */
        public Builder activeMembers(List activeMembers) {
            this.activeMembers = activeMembers;
            return this;
        }

        /**
         * Builds a new {@link ConferenceState} object using the set fields.
         * @return {@link ConferenceState}
         */
        public ConferenceState build() {
            return new ConferenceState(id, name, createdTime, completedTime, conferenceEventUrl,
                    conferenceEventMethod, tag, activeMembers);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy