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

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

There is a newer version: 7.53.4
Show newest version

package com.unblu.webapi.model.v3;

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

/**
 * The state of a participation inside a conversation. Following transitions are possible: <ul> <li>`CREATED` -->
 * `ONBOARDING`, `OFFBOARDING`, `ACTIVE`</li> <li>`ONBOARDING` --> `ACTIVE`,
 * `OFFBOARDING`</li> <li>`ACTIVE` --> `OFFBOARDING`</li> <li>`OFFBOARDING` -->
 * `ENDED`</li> <li>`ENDED` --> none</li> </ul>
 */
public enum EConversationParticipationState {

	/**
	 * CREATED: Participant has been created
	 */
	CREATED("CREATED"),

	/**
	 * ONBOARDING: Participant is doing the onboarding to join the conversation
	 */
	ONBOARDING("ONBOARDING"),

	/**
	 * ACTIVE: Participant has joined the conversation and is an active member
	 */
	ACTIVE("ACTIVE"),

	/**
	 * OFFBOARDING: Participant is doing the offboarding to leave the conversation
	 */
	OFFBOARDING("OFFBOARDING"),

	/**
	 * ENDED: Participant is no longer present in the conversation
	 */
	ENDED("ENDED");

	private String value;

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

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

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

	@JsonCreator
	public static EConversationParticipationState fromValue(String value) {
		for (EConversationParticipationState b : EConversationParticipationState.values()) {
			if (b.value.equals(value)) {
				return b;
			}
		}
		throw new IllegalArgumentException("Unexpected value '" + value + "'");
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy