001package com.avaje.ebean.delegate;
002
003import com.avaje.ebean.Transaction;
004
005import javax.persistence.OptimisticLockException;
006import java.util.Collection;
007
008/**
009 * Provides an adaption layer for intercepting save methods.
010 */
011public interface InterceptSave {
012
013  Object nextId(Class<?> beanType);
014
015  void save(Object bean, Transaction transaction) throws OptimisticLockException;
016
017  int saveAll(Collection<?> beans, Transaction transaction) throws OptimisticLockException;
018
019  void update(Object bean, Transaction t) throws OptimisticLockException;
020
021  void update(Object bean, Transaction transaction, boolean deleteMissingChildren) throws OptimisticLockException;
022
023  void updateAll(Collection<?> beans, Transaction transaction) throws OptimisticLockException;
024
025  void insert(Object bean, Transaction t);
026
027  void insertAll(Collection<?> beans, Transaction t);
028
029}