001package com.avaje.ebean.delegate;
002
003import com.avaje.ebean.EbeanServer;
004import com.avaje.ebean.Query;
005import com.avaje.ebean.Transaction;
006
007import javax.persistence.OptimisticLockException;
008import java.util.Collection;
009
010/**
011 * Simple delegating implementation of InterceptDelete.
012 */
013public class DelegateDelete implements InterceptDelete {
014
015  protected EbeanServer delegate;
016
017  /**
018   * Construct with a EbeanServer to delegate and using ImmediateBackgroundExecutor.
019   * <p>
020   * This delegate will be used on all method calls that are not overwritten.
021   */
022  public DelegateDelete(EbeanServer delegate) {
023    this.delegate = delegate;
024  }
025
026  @Override
027  public int deleteAll(Collection<?> c) throws OptimisticLockException {
028    return delegate.deleteAll(c);
029  }
030
031  @Override
032  public int deleteAll(Collection<?> c, Transaction transaction) throws OptimisticLockException {
033    return delegate.deleteAll(c, transaction);
034  }
035
036  @Override
037  public int delete(Query<?> query, Transaction transaction) throws OptimisticLockException {
038    return delegate.delete(query, transaction);
039  }
040
041  @Override
042  public int delete(Class<?> beanType, Object id, Transaction transaction) {
043    return delegate.delete(beanType, id, transaction);
044  }
045
046  @Override
047  public int deletePermanent(Class<?> beanType, Object id) {
048    return delegate.deletePermanent(beanType, id);
049  }
050
051  @Override
052  public int deletePermanent(Class<?> beanType, Object id, Transaction transaction) {
053    return delegate.deletePermanent(beanType, id, transaction);
054  }
055
056  @Override
057  public int deleteAll(Class<?> beanType, Collection<?> ids, Transaction transaction) {
058    return delegate.deleteAll(beanType, ids, transaction);
059  }
060
061  @Override
062  public boolean delete(Object bean, Transaction t) throws OptimisticLockException {
063    return delegate.delete(bean, t);
064  }
065
066  @Override
067  public boolean deletePermanent(Object bean) {
068    return delegate.deletePermanent(bean);
069  }
070
071  @Override
072  public boolean deletePermanent(Object bean, Transaction transaction) {
073    return delegate.deletePermanent(bean, transaction);
074  }
075
076  @Override
077  public int deleteAllPermanent(Collection<?> beans) {
078    return delegate.deleteAllPermanent(beans);
079  }
080
081  @Override
082  public int deleteAllPermanent(Collection<?> beans, Transaction transaction) {
083    return delegate.deleteAllPermanent(beans, transaction);
084  }
085
086  @Override
087  public int deleteAllPermanent(Class<?> beanType, Collection<?> ids) {
088    return delegate.deleteAllPermanent(beanType, ids);
089  }
090
091  @Override
092  public int deleteAllPermanent(Class<?> beanType, Collection<?> ids, Transaction transaction) {
093    return deleteAllPermanent(beanType, ids, transaction);
094  }
095}