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

com.unblu.webapi.model.v3.CallMediaPublication Maven / Gradle / Ivy

There is a newer version: 7.51.0
Show newest version

package com.unblu.webapi.model.v3;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonValue;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * Call media publication metadata class
 */
@ApiModel(description = "Call media publication metadata class")

@JsonPropertyOrder({
	CallMediaPublication.JSON_PROPERTY_$_TYPE,
	CallMediaPublication.JSON_PROPERTY_ID,
	CallMediaPublication.JSON_PROPERTY_CREATION_TIMESTAMP,
	CallMediaPublication.JSON_PROPERTY_MODIFICATION_TIMESTAMP,
	CallMediaPublication.JSON_PROPERTY_ACCOUNT_ID,
	CallMediaPublication.JSON_PROPERTY_TYPE,
	CallMediaPublication.JSON_PROPERTY_PUBLICATION_TYPE,
	CallMediaPublication.JSON_PROPERTY_PUBLICATION_TIMESTAMP,
})
@JsonAutoDetect(creatorVisibility = Visibility.NONE, fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
public class CallMediaPublication implements CallPublication {
	/**
	 * Gets or Sets $type
	 */
	public enum TypeEnum {
		CALLMEDIAPUBLICATION("CallMediaPublication");

		private String value;

		TypeEnum(String value) {
			this.value = value;
		}

		@JsonValue
		public String getValue() {
			return value;
		}

		@Override
		public String toString() {
			return String.valueOf(value);
		}

		@JsonCreator
		public static TypeEnum fromValue(String value) {
			for (TypeEnum b : TypeEnum.values()) {
				if (b.value.equals(value)) {
					return b;
				}
			}
			return TypeEnum.CALLMEDIAPUBLICATION;
		}
	}

	public static final String JSON_PROPERTY_$_TYPE = "$_type";
	@JsonProperty(JSON_PROPERTY_$_TYPE)
	private TypeEnum $type = TypeEnum.CALLMEDIAPUBLICATION;

	public static final String JSON_PROPERTY_ID = "id";
	@JsonProperty(JSON_PROPERTY_ID)
	private String id;

	public static final String JSON_PROPERTY_CREATION_TIMESTAMP = "creationTimestamp";
	@JsonProperty(JSON_PROPERTY_CREATION_TIMESTAMP)
	private Long creationTimestamp;

	public static final String JSON_PROPERTY_MODIFICATION_TIMESTAMP = "modificationTimestamp";
	@JsonProperty(JSON_PROPERTY_MODIFICATION_TIMESTAMP)
	private Long modificationTimestamp;

	public static final String JSON_PROPERTY_ACCOUNT_ID = "accountId";
	@JsonProperty(JSON_PROPERTY_ACCOUNT_ID)
	private String accountId;

	public static final String JSON_PROPERTY_TYPE = "type";
	@JsonProperty(JSON_PROPERTY_TYPE)
	private ECallPublicationType type = ECallPublicationType.MEDIA;

	public static final String JSON_PROPERTY_PUBLICATION_TYPE = "publicationType";
	@JsonProperty(JSON_PROPERTY_PUBLICATION_TYPE)
	private EMediaPublicationType publicationType;

	public static final String JSON_PROPERTY_PUBLICATION_TIMESTAMP = "publicationTimestamp";
	@JsonProperty(JSON_PROPERTY_PUBLICATION_TIMESTAMP)
	private Long publicationTimestamp;

	public CallMediaPublication $type(TypeEnum $type) {
		this.$type = $type;
		return this;
	}

	/**
	 * Get $type
	 * 
	 * @return $type
	 **/
	@ApiModelProperty(value = "")
	public TypeEnum get$Type() {
		return $type;
	}

	public void set$Type(TypeEnum $type) {
		this.$type = $type;
	}

	public CallMediaPublication id(String id) {
		this.id = id;
		return this;
	}

	/**
	 * Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway.
	 * 
	 * @return id
	 **/
	@ApiModelProperty(value = "Unique id of the entity. When creating an entity this property can be omitted as it will be generated by the server anyway.")
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public CallMediaPublication creationTimestamp(Long creationTimestamp) {
		this.creationTimestamp = creationTimestamp;
		return this;
	}

	/**
	 * Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and
	 * therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data
	 * consistency.
	 * 
	 * @return creationTimestamp
	 **/
	@ApiModelProperty(value = "Creation timestamp of the entity. It is defined when the entity is stored the first time in the system. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency.")
	public Long getCreationTimestamp() {
		return creationTimestamp;
	}

	public void setCreationTimestamp(Long creationTimestamp) {
		this.creationTimestamp = creationTimestamp;
	}

	public CallMediaPublication modificationTimestamp(Long modificationTimestamp) {
		this.modificationTimestamp = modificationTimestamp;
		return this;
	}

	/**
	 * Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational
	 * character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it
	 * will not be written to the storage and will not effect the data consistency.
	 * 
	 * @return modificationTimestamp
	 **/
	@ApiModelProperty(value = "Timestamp of the last modification. This property is always optional and can be omitted, when sending data to the server. It is only of informational character. It is ignored, when sending it to the server and therefore can be omitted. Note: If you set this property it will return the same value but it will not be written to the storage and will not effect the data consistency.")
	public Long getModificationTimestamp() {
		return modificationTimestamp;
	}

	public void setModificationTimestamp(Long modificationTimestamp) {
		this.modificationTimestamp = modificationTimestamp;
	}

	public CallMediaPublication accountId(String accountId) {
		this.accountId = accountId;
		return this;
	}

	/**
	 * ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the
	 * user currently logged in. When editing an entity, you must include the account ID.
	 * 
	 * @return accountId
	 **/
	@ApiModelProperty(value = "ID of the account the entity belongs to. When creating an entity, the account ID can be omitted. It will be filled by the server with the account ID of the user currently logged in. When editing an entity, you must include the account ID.")
	public String getAccountId() {
		return accountId;
	}

	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	public CallMediaPublication type(ECallPublicationType type) {
		this.type = type;
		return this;
	}

	/**
	 * Get type
	 * 
	 * @return type
	 **/
	@ApiModelProperty(value = "")
	public ECallPublicationType getType() {
		return type;
	}

	public void setType(ECallPublicationType type) {
		this.type = type;
	}

	public CallMediaPublication publicationType(EMediaPublicationType publicationType) {
		this.publicationType = publicationType;
		return this;
	}

	/**
	 * Get publicationType
	 * 
	 * @return publicationType
	 **/
	@ApiModelProperty(value = "")
	public EMediaPublicationType getPublicationType() {
		return publicationType;
	}

	public void setPublicationType(EMediaPublicationType publicationType) {
		this.publicationType = publicationType;
	}

	public CallMediaPublication publicationTimestamp(Long publicationTimestamp) {
		this.publicationTimestamp = publicationTimestamp;
		return this;
	}

	/**
	 * UTC timestamp (ms) when the media publication started
	 * 
	 * @return publicationTimestamp
	 **/
	@ApiModelProperty(value = "UTC timestamp (ms) when the media publication started")
	public Long getPublicationTimestamp() {
		return publicationTimestamp;
	}

	public void setPublicationTimestamp(Long publicationTimestamp) {
		this.publicationTimestamp = publicationTimestamp;
	}

	@Override
	public boolean equals(java.lang.Object o) {
		if (this == o) {
			return true;
		}
		if (o == null || getClass() != o.getClass()) {
			return false;
		}
		CallMediaPublication callMediaPublication = (CallMediaPublication) o;
		return Objects.equals(this.$type, callMediaPublication.$type) &&
				Objects.equals(this.id, callMediaPublication.id) &&
				Objects.equals(this.creationTimestamp, callMediaPublication.creationTimestamp) &&
				Objects.equals(this.modificationTimestamp, callMediaPublication.modificationTimestamp) &&
				Objects.equals(this.accountId, callMediaPublication.accountId) &&
				Objects.equals(this.type, callMediaPublication.type) &&
				Objects.equals(this.publicationType, callMediaPublication.publicationType) &&
				Objects.equals(this.publicationTimestamp, callMediaPublication.publicationTimestamp);
	}

	@Override
	public int hashCode() {
		return Objects.hash($type, id, creationTimestamp, modificationTimestamp, accountId, type, publicationType, publicationTimestamp);
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("class CallMediaPublication {\n");
		sb.append("    $type: ").append(toIndentedString($type)).append("\n");
		sb.append("    id: ").append(toIndentedString(id)).append("\n");
		sb.append("    creationTimestamp: ").append(toIndentedString(creationTimestamp)).append("\n");
		sb.append("    modificationTimestamp: ").append(toIndentedString(modificationTimestamp)).append("\n");
		sb.append("    accountId: ").append(toIndentedString(accountId)).append("\n");
		sb.append("    type: ").append(toIndentedString(type)).append("\n");
		sb.append("    publicationType: ").append(toIndentedString(publicationType)).append("\n");
		sb.append("    publicationTimestamp: ").append(toIndentedString(publicationTimestamp)).append("\n");
		sb.append("}");
		return sb.toString();
	}

	/**
	 * Convert the given object to string with each line indented by 4 spaces (except the first line).
	 */
	private String toIndentedString(java.lang.Object o) {
		if (o == null) {
			return "null";
		}
		return o.toString().replace("\n", "\n    ");
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy