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

com.sinch.sdk.domains.conversation.models.v1.internal.TemplateReferenceInternal Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
/*
 * Conversation API | Sinch
 *
 * OpenAPI document version: 1.0
 * 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.models.v1.internal;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import java.util.Map;

/**
 * The referenced template can be an omnichannel template stored in Conversation API Template Store
 * as AppMessage or it can reference external channel-specific template such as WhatsApp Business
 * Template.
 */
@JsonDeserialize(builder = TemplateReferenceInternalImpl.Builder.class)
public interface TemplateReferenceInternal {

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

  /**
   * Required if the template has parameters. Concrete values must be present for all defined
   * parameters in the template. Parameters can be different for different versions and/or languages
   * of the template.
   *
   * @return parameters
   */
  Map getParameters();

  /**
   * The ID of the template.
   *
   * @return templateId
   */
  String getTemplateId();

  /**
   * Used to specify what version of a template to use. This will be used in conjunction with 
   * language_code.
   *
   * @return version
   */
  String getVersion();

  /**
   * Getting builder
   *
   * @return New Builder instance
   */
  static Builder builder() {
    return new TemplateReferenceInternalImpl.Builder();
  }

  /** Dedicated Builder */
  interface Builder {

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

    /**
     * see getter
     *
     * @param parameters see getter
     * @return Current builder
     * @see #getParameters
     */
    Builder setParameters(Map parameters);

    /**
     * see getter
     *
     * @param templateId see getter
     * @return Current builder
     * @see #getTemplateId
     */
    Builder setTemplateId(String templateId);

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy