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

com.bandwidth.voice.models.ConferenceRecordingMetadata 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.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 ConferenceRecordingMetadata type.
 */
public class ConferenceRecordingMetadata {
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String accountId;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String conferenceId;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String name;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String recordingId;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String duration;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer channels;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private LocalDateTime startTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private LocalDateTime endTime;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private FileFormatEnum fileFormat;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String status;
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String mediaUrl;

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

    /**
     * Initialization constructor.
     * @param  accountId  String value for accountId.
     * @param  conferenceId  String value for conferenceId.
     * @param  name  String value for name.
     * @param  recordingId  String value for recordingId.
     * @param  duration  String value for duration.
     * @param  channels  Integer value for channels.
     * @param  startTime  LocalDateTime value for startTime.
     * @param  endTime  LocalDateTime value for endTime.
     * @param  fileFormat  FileFormatEnum value for fileFormat.
     * @param  status  String value for status.
     * @param  mediaUrl  String value for mediaUrl.
     */
    public ConferenceRecordingMetadata(
            String accountId,
            String conferenceId,
            String name,
            String recordingId,
            String duration,
            Integer channels,
            LocalDateTime startTime,
            LocalDateTime endTime,
            FileFormatEnum fileFormat,
            String status,
            String mediaUrl) {
        this.accountId = accountId;
        this.conferenceId = conferenceId;
        this.name = name;
        this.recordingId = recordingId;
        this.duration = duration;
        this.channels = channels;
        this.startTime = startTime;
        this.endTime = endTime;
        this.fileFormat = fileFormat;
        this.status = status;
        this.mediaUrl = mediaUrl;
    }

    /**
     * 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 ConferenceId.
     * @return Returns the String
     */
    @JsonGetter("conferenceId")
    public String getConferenceId() {
        return conferenceId;
    }

    /**
     * Setter for ConferenceId.
     * @param conferenceId Value for String
     */
    @JsonSetter("conferenceId")
    public void setConferenceId(String conferenceId) {
        this.conferenceId = conferenceId;
    }

    /**
     * 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 RecordingId.
     * @return Returns the String
     */
    @JsonGetter("recordingId")
    public String getRecordingId() {
        return recordingId;
    }

    /**
     * Setter for RecordingId.
     * @param recordingId Value for String
     */
    @JsonSetter("recordingId")
    public void setRecordingId(String recordingId) {
        this.recordingId = recordingId;
    }

    /**
     * Getter for Duration.
     * Format is ISO-8601
     * @return Returns the String
     */
    @JsonGetter("duration")
    public String getDuration() {
        return duration;
    }

    /**
     * Setter for Duration.
     * Format is ISO-8601
     * @param duration Value for String
     */
    @JsonSetter("duration")
    public void setDuration(String duration) {
        this.duration = duration;
    }

    /**
     * Getter for Channels.
     * @return Returns the Integer
     */
    @JsonGetter("channels")
    public Integer getChannels() {
        return channels;
    }

    /**
     * Setter for Channels.
     * @param channels Value for Integer
     */
    @JsonSetter("channels")
    public void setChannels(Integer channels) {
        this.channels = channels;
    }

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

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

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

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

    /**
     * Getter for FileFormat.
     * @return Returns the FileFormatEnum
     */
    @JsonGetter("fileFormat")
    public FileFormatEnum getFileFormat() {
        return fileFormat;
    }

    /**
     * Setter for FileFormat.
     * @param fileFormat Value for FileFormatEnum
     */
    @JsonSetter("fileFormat")
    public void setFileFormat(FileFormatEnum fileFormat) {
        this.fileFormat = fileFormat;
    }

    /**
     * Getter for Status.
     * The current status of the recording. Current possible values are 'processing', 'partial',
     * 'complete', 'deleted', and 'error'. Additional states may be added in the future, so your
     * application must be tolerant of unknown values.
     * @return Returns the String
     */
    @JsonGetter("status")
    public String getStatus() {
        return status;
    }

    /**
     * Setter for Status.
     * The current status of the recording. Current possible values are 'processing', 'partial',
     * 'complete', 'deleted', and 'error'. Additional states may be added in the future, so your
     * application must be tolerant of unknown values.
     * @param status Value for String
     */
    @JsonSetter("status")
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * Getter for MediaUrl.
     * @return Returns the String
     */
    @JsonGetter("mediaUrl")
    public String getMediaUrl() {
        return mediaUrl;
    }

    /**
     * Setter for MediaUrl.
     * @param mediaUrl Value for String
     */
    @JsonSetter("mediaUrl")
    public void setMediaUrl(String mediaUrl) {
        this.mediaUrl = mediaUrl;
    }

    /**
     * Converts this ConferenceRecordingMetadata into string format.
     * @return String representation of this class
     */
    @Override
    public String toString() {
        return "ConferenceRecordingMetadata [" + "accountId=" + accountId + ", conferenceId="
                + conferenceId + ", name=" + name + ", recordingId=" + recordingId + ", duration="
                + duration + ", channels=" + channels + ", startTime=" + startTime + ", endTime="
                + endTime + ", fileFormat=" + fileFormat + ", status=" + status + ", mediaUrl="
                + mediaUrl + "]";
    }

    /**
     * Builds a new {@link ConferenceRecordingMetadata.Builder} object.
     * Creates the instance with the state of the current model.
     * @return a new {@link ConferenceRecordingMetadata.Builder} object
     */
    public Builder toBuilder() {
        Builder builder = new Builder()
                .accountId(getAccountId())
                .conferenceId(getConferenceId())
                .name(getName())
                .recordingId(getRecordingId())
                .duration(getDuration())
                .channels(getChannels())
                .startTime(getStartTime())
                .endTime(getEndTime())
                .fileFormat(getFileFormat())
                .status(getStatus())
                .mediaUrl(getMediaUrl());
        return builder;
    }

    /**
     * Class to build instances of {@link ConferenceRecordingMetadata}.
     */
    public static class Builder {
        private String accountId;
        private String conferenceId;
        private String name;
        private String recordingId;
        private String duration;
        private Integer channels;
        private LocalDateTime startTime;
        private LocalDateTime endTime;
        private FileFormatEnum fileFormat;
        private String status;
        private String mediaUrl;



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

        /**
         * Setter for conferenceId.
         * @param  conferenceId  String value for conferenceId.
         * @return Builder
         */
        public Builder conferenceId(String conferenceId) {
            this.conferenceId = conferenceId;
            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 recordingId.
         * @param  recordingId  String value for recordingId.
         * @return Builder
         */
        public Builder recordingId(String recordingId) {
            this.recordingId = recordingId;
            return this;
        }

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

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

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

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

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

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

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

        /**
         * Builds a new {@link ConferenceRecordingMetadata} object using the set fields.
         * @return {@link ConferenceRecordingMetadata}
         */
        public ConferenceRecordingMetadata build() {
            return new ConferenceRecordingMetadata(accountId, conferenceId, name, recordingId,
                    duration, channels, startTime, endTime, fileFormat, status, mediaUrl);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy