001package com.avaje.ebean.delegate; 002 003import com.avaje.ebean.EbeanServer; 004import com.avaje.ebean.Transaction; 005 006import javax.persistence.OptimisticLockException; 007import java.util.Collection; 008 009/** 010 * Delegate based InterceptSave implementation. 011 */ 012public class DelegateSave implements InterceptSave { 013 014 protected EbeanServer delegate; 015 016 /** 017 * Construct with a EbeanServer to delegate and using ImmediateBackgroundExecutor. 018 * <p> 019 * This delegate will be used on all method calls that are not overwritten. 020 */ 021 public DelegateSave(EbeanServer delegate) { 022 this.delegate = delegate; 023 } 024 025 @Override 026 public Object nextId(Class<?> beanType) { 027 return delegate.nextId(beanType); 028 } 029 030 @Override 031 public void save(Object bean, Transaction transaction) throws OptimisticLockException { 032 delegate.save(bean, transaction); 033 } 034 035 @Override 036 public int saveAll(Collection<?> beans, Transaction transaction) throws OptimisticLockException { 037 return delegate.saveAll(beans, transaction); 038 } 039 040 @Override 041 public void update(Object bean, Transaction t) throws OptimisticLockException { 042 delegate.update(bean, t); 043 } 044 045 @Override 046 public void update(Object bean, Transaction transaction, boolean deleteMissingChildren) throws OptimisticLockException { 047 delegate.update(bean, transaction, deleteMissingChildren); 048 } 049 050 @Override 051 public void updateAll(Collection<?> beans, Transaction transaction) throws OptimisticLockException { 052 delegate.updateAll(beans, transaction); 053 } 054 055 @Override 056 public void insert(Object bean, Transaction t) { 057 delegate.insert(bean, t); 058 } 059 060 @Override 061 public void insertAll(Collection<?> beans, Transaction t) { 062 delegate.insertAll(beans, t); 063 } 064 065}