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

com.sinch.sdk.domains.conversation.templates.models.v2.TemplateTranslationBase Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/*
 * Template Management API
 *
 * OpenAPI document version: 457aacb5
 * Contact: [email protected]
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit the class manually.
 */

package com.sinch.sdk.domains.conversation.templates.models.v2;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.sinch.sdk.domains.conversation.models.v1.ConversationChannel;
import com.sinch.sdk.domains.conversation.templates.models.TemplateVariable;
import java.time.Instant;
import java.util.List;
import java.util.Map;

/** TemplateTranslationBase */
@JsonDeserialize(builder = TemplateTranslationBaseImpl.Builder.class)
public interface TemplateTranslationBase {

  /**
   * The BCP-47 language code, such as en-US or sr-Latn. For more
   * information, see https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
   *
   * @return languageCode
   */
  String getLanguageCode();

  /**
   * The version of the translation.
   *
   * @return version
   */
  String getVersion();

  /**
   * Field to override the omnichannel template by referring to a channel-specific template. The key
   * in the map must point to a valid conversation channel. Currently only WHATSAPP and
   * KAKAOTALK are supported
   *
   * @return channelTemplateOverrides
   */
  Map getChannelTemplateOverrides();

  /**
   * List of expected variables. Can be used for request validation.
   *
   * @return variables
   */
  List getVariables();

  /**
   * Timestamp when the translation was created.
   *
   * @return createTime
   */
  Instant getCreateTime();

  /**
   * Timestamp of when the translation was updated.
   *
   * @return updateTime
   */
  Instant getUpdateTime();

  /** Dedicated Builder */
  interface Builder> {

    /**
     * see getter
     *
     * @param languageCode see getter
     * @return Current builder
     * @see #getLanguageCode
     */
    B setLanguageCode(String languageCode);

    /**
     * see getter
     *
     * @param version see getter
     * @return Current builder
     * @see #getVersion
     */
    B setVersion(String version);

    /**
     * see getter
     *
     * @param channelTemplateOverrides see getter
     * @return Current builder
     * @see #getChannelTemplateOverrides
     */
    B setChannelTemplateOverrides(
        Map channelTemplateOverrides);

    /**
     * see getter
     *
     * @param variables see getter
     * @return Current builder
     * @see #getVariables
     */
    B setVariables(List variables);

    /**
     * see getter
     *
     * @param createTime see getter
     * @return Current builder
     * @see #getCreateTime
     */
    B setCreateTime(Instant createTime);

    /**
     * see getter
     *
     * @param updateTime see getter
     * @return Current builder
     * @see #getUpdateTime
     */
    B setUpdateTime(Instant updateTime);

    /**
     * Create instance
     *
     * @return The instance build with current builder values
     */
    TemplateTranslationBase build();
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy