package ru.ibs.socrates.confexporter.service.content.enums;

import com.fasterxml.jackson.annotation.JsonCreator;

/**
 * EventType.
 */
public enum EventTypeEnum {

  /**
   * при обработке контента впервые.
   */
  CREATE,

  /**
   * при изменении контента.
   */
  UPDATE,

  /**
   * при изменении видимости контента (отключение отправки или пропажи из источника).
   */
  DELETE,

  /**
   * Любой другой тип события.
   */
  OTHER,
  ;

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

  /**
   * получение экземпляра EventTypeEnum.
   * @param value - значение
   * @return - EventTypeEnum
   */
  @JsonCreator
  public static EventTypeEnum of(String value) {
    for (EventTypeEnum b : EventTypeEnum.values()) {
      if (b.name().equalsIgnoreCase(value)) {
        return b;
      }
    }
    return null;
  }
}
