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

com.symphony.bdk.bot.sdk.command.ComposerMessageDefinition Maven / Gradle / Ivy

package com.symphony.bdk.bot.sdk.command;

/**
 * Defines a message to be linked to streams
 *
 * @author Gabriel Berberian
 */
public interface ComposerMessageDefinition {

  /**
   * Adds a message to the response composition
   *
   * @param message the message
   * @return an instance of ComposerAttachmentOrStreamDefinition 
   */
  ComposerAttachmentOrStreamDefinition withMessage(String message);

  /**
   * Adds an enriched message to the response composition
   *
   * @param message the message
   * @param entityName the entity name
   * @param entity the data entity
   * @param version the entity version
   * @return an instance of ComposerAttachmentOrStreamDefinition
   */
  ComposerAttachmentOrStreamDefinition withEnrichedMessage(
      String message, String entityName, Object entity, String version);

  /**
   * Adds a template message to the response composition
   *
   * @param templateMessage the template message
   * @param templateData the template data
   * @return an instance of ComposerAttachmentOrStreamDefinition
   */
  ComposerAttachmentOrStreamDefinition withTemplateMessage(String templateMessage, Object templateData);

  /**
   * Adds an enriched template message to the response composition
   *
   * @param templateMessage the template message
   * @param templateData the template data
   * @param entityName the entity name
   * @param entity the data entity 
   * @param version the entity version 
   * @return an instance of ComposerAttachmentOrStreamDefinition
   */
  ComposerAttachmentOrStreamDefinition withEnrichedTemplateMessage(
      String templateMessage, Object templateData, String entityName, Object entity,
      String version);

  /**
   * Adds an enriched template message to the response composition
   *
   * @param templateFile the template file name
   * @param templateData the template data
   * @return an instance of ComposerAttachmentOrStreamDefinition
   */
  ComposerAttachmentOrStreamDefinition withTemplateFile(String templateFile, Object templateData);

  /**
   * Adds an enriched template file to the response composition
   *
   * @param templateFile the template file name
   * @param templateData the template data
   * @param entityName the entity name
   * @param entity the data entity
   * @param version the entity version 
   * @return an instance of ComposerAttachmentOrStreamDefinition
   */
  ComposerAttachmentOrStreamDefinition withEnrichedTemplateFile(
      String templateFile, Object templateData, String entityName, Object entity, String version);

  /**
   * Completes response composition
   */
  void complete();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy