001package io.ebean.event.changelog;
002
003/**
004 * Listen for changes.
005 * <p>
006 * Implementations can take the changes and store them in a document store for auditing purposes etc.
007 * </p>
008 */
009public interface ChangeLogListener {
010
011  /**
012   * Log the batch of changes.
013   * <p>
014   * For small transactions this will be all the changes in the transaction.
015   * For larger/longer transactions this can be a 'batch' of changes made and the actual transaction
016   * has not yet committed or rolled back and a later change set will contain the final changeSet for
017   * the transaction with it's final status of <code>COMMITTED</code> or <code>ROLLBACK</code>.
018   */
019  void log(ChangeSet changeSet);
020
021}