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

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

There is a newer version: 1.4.0
Show newest version
package com.sinch.sdk.domains.conversation.templates.models.v2;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.sinch.sdk.domains.conversation.models.v1.messages.AppMessageBody;

/** Message to be injected */
@JsonDeserialize(builder = TemplateTranslationImpl.Builder.class)
public interface TemplateTranslation extends TemplateTranslationBase {

  /**
   * Get translation message
   *
   * @return Body message
   */
  AppMessageBody getMessage();

  /**
   * Getting builder
   *
   * @return New Builder instance
   */
  @SuppressWarnings("rawtypes")
  static Builder builder() {
    return new TemplateTranslationImpl.Builder();
  }

  static TemplateTranslation from(TemplateTranslationBase from) {
    return new TemplateTranslationImpl(from);
  }

  /** Dedicated Builder */
  interface Builder> extends TemplateTranslationBase.Builder {

    /**
     * see getter
     *
     * @param message see getter
     * @return Current builder
     * @see #getMessage()
     */
    B setMessage(AppMessageBody message);

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