001package io.ebean.bean;
002
003/**
004 * Visitor for collecting new/old values for a bean update.
005 */
006public interface BeanDiffVisitor {
007
008  /**
009   * Collect a new/old value pair.
010   */
011  void visit(int position, Object newVal, Object oldVal);
012
013  /**
014   * Start processing an associated bean.
015   */
016  void visitPush(int position);
017
018  /**
019   * Stop processing an associated bean.
020   */
021  void visitPop();
022}