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

com.vonage.client.video.ArchiveStatus Maven / Gradle / Ivy

/*
 *   Copyright 2024 Vonage
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */
package com.vonage.client.video;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * Defines values returned by the {@link Archive#getStatus} method.
 */
public enum ArchiveStatus {
	/**
	 * The archive file is available for download from the cloud. You can get the URL of the download file by
	 * calling the {@link Archive#getUrl} method.
	 */
	AVAILABLE,

	/**
	 * The archive file has been deleted.
	 */
	DELETED,

	/**
	 * The recording of the archive failed.
	 */
	FAILED,

	/**
	 * The archive is in progress and no clients are publishing streams to the session. When an archive is in progress
	 * and any client publishes a stream, the status is STARTED. When an archive is PAUSED, nothing is recorded. When a
	 * client starts publishing a stream, the recording starts (or resumes). If all clients disconnect from a session
	 * that is being archived, the status changes to PAUSED, and after 60 seconds the archive recording stops (and the
	 * status changes to STOPPED).
	 */
	PAUSED,

	/**
	 * The archive recording has started and is in progress.
	 */
	STARTED,

	/**
	 * The archive recording has stopped, but the file is not available.
	 */
	STOPPED,

	/**
	 * The archive is available for download from the upload target Amazon S3 bucket or Windows Azure container you
	 * set up for your Vonage video project.
	 */
	UPLOADED,

	/**
	 * The archive file is no longer available in the cloud.
	 */
	EXPIRED;

	@JsonValue
	@Override
	public String toString() {
		return name().toLowerCase();
	}

	@JsonCreator
	public static ArchiveStatus fromString(String value) {
		try {
			return ArchiveStatus.valueOf(value.toUpperCase());
		}
		catch (NullPointerException | IllegalArgumentException ex) {
			return null;
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy