package io.ebeanservice.docstore.api;

A document store transaction.

This might just be a buffer to batch persist requests to the document store and may not support transactional semantics (like rollback).

/** * A document store transaction. * <p> * This might just be a buffer to batch persist requests to the document store and may not * support transactional semantics (like rollback). */
public interface DocStoreTransaction {
Obtain a context to persist to (like a buffer).
/** * Obtain a context to persist to (like a buffer). */
DocStoreUpdateContext obtain();
Add changes that should be queued to the DocStoreUpdates.

This mostly means nested/embedded updates that need to be processed after the source persist event has propagated.

/** * Add changes that should be queued to the DocStoreUpdates. * <p> * This mostly means nested/embedded updates that need to be processed after the source * persist event has propagated. * </p> */
DocStoreUpdates queue();
Flush all changes to the document store.
/** * Flush all changes to the document store. */
void flush(); }