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

io.ebeanservice.docstore.api.support.DocStoreIndexEvent Maven / Gradle / Ivy

There is a newer version: 15.6.0
Show newest version
package io.ebeanservice.docstore.api.support;

import io.ebean.plugin.BeanType;
import io.ebeanservice.docstore.api.DocStoreUpdate;
import io.ebeanservice.docstore.api.DocStoreUpdateContext;
import io.ebeanservice.docstore.api.DocStoreUpdates;

import java.io.IOException;

/**
 * A 'Delete by Id' request that is send to the document store.
 */
public class DocStoreIndexEvent implements DocStoreUpdate {

  private final BeanType beanType;

  private final Object idValue;

  private final T bean;

  public DocStoreIndexEvent(BeanType beanType, Object idValue, T bean) {
    this.beanType = beanType;
    this.idValue = idValue;
    this.bean = bean;
  }

  /**
   * Add appropriate JSON content for sending to the ElasticSearch Bulk API.
   */
  @Override
  public void docStoreUpdate(DocStoreUpdateContext txn) throws IOException {
    beanType.docStore().index(idValue, bean, txn);
  }

  /**
   * Add this event to the queue (for queue delayed processing).
   */
  @Override
  public void addToQueue(DocStoreUpdates docStoreUpdates) {
    docStoreUpdates.queueIndex(beanType.getDocStoreQueueId(), idValue);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy