Package siena.core

Source Code of siena.core.PersistenceManagerLifeCycleWrapper

package siena.core;

import java.util.List;
import java.util.Map;
import java.util.Properties;

import siena.BaseQueryData;
import siena.ClassInfo;
import siena.PersistenceManager;
import siena.Query;
import siena.core.async.PersistenceManagerAsync;
import siena.core.batch.Batch;
import siena.core.lifecycle.LifeCyclePhase;
import siena.core.lifecycle.LifeCycleUtils;
import siena.core.options.PmOption;

public class PersistenceManagerLifeCycleWrapper implements PersistenceManager{
  PersistenceManager pm;
 
  public PersistenceManagerLifeCycleWrapper(PersistenceManager pm){
    this.pm = pm;
  }

  @Override
  public void init(Properties p) {
    pm.init(p);
  }

  @Override
  public PersistenceManager option(PmOption opt) {
    return pm.option(opt);
  }

  @Override
  public PmOption option(int type) {
    return pm.option(type);
  }

  @Override
  public Map<Integer, PmOption> options() {
    return pm.options();
  }

  @Override
  public void resetOptions() {
    pm.resetOptions();
  }

  @Override
  public <T> Query<T> createQuery(Class<T> clazz) {
    return pm.createQuery(clazz);
  }

  @Override
  public <T> Query<T> createQuery(BaseQueryData<T> query) {
    return pm.createQuery(query);
  }

  @Override
  public <T> Batch<T> createBatch(Class<T> clazz) {
    return pm.createBatch(clazz);
  }
 
  @Override
  public <T> Many4PM<T> createMany(Class<T> clazz) {
    return pm.createMany(clazz);
  }
 
  @Override
  public <T> One4PM<T> createOne(Class<T> clazz) {
    return pm.createOne(clazz);
  }

  @Override
  public void get(Object obj) {
    ClassInfo ci = ClassInfo.getClassInfo(obj.getClass());
    LifeCycleUtils.executeMethods(LifeCyclePhase.PRE_FETCH, ci, obj);
    pm.get(obj);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_FETCH, ci, obj);
  }

  @Override
  public void insert(Object obj) {
    ClassInfo ci = ClassInfo.getClassInfo(obj.getClass());
    LifeCycleUtils.executeMethods(LifeCyclePhase.PRE_INSERT, ci, obj);
    pm.insert(obj);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_INSERT, ci, obj);
  }

  @Override
  public void delete(Object obj) {
    ClassInfo ci = ClassInfo.getClassInfo(obj.getClass());
    LifeCycleUtils.executeMethods(LifeCyclePhase.PRE_DELETE, ci, obj);
    pm.delete(obj);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_DELETE, ci, obj);
  }

  @Override
  public void update(Object obj) {
    ClassInfo ci = ClassInfo.getClassInfo(obj.getClass());
    LifeCycleUtils.executeMethods(LifeCyclePhase.PRE_UPDATE, ci, obj);
    pm.update(obj);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_UPDATE, ci, obj);
  }

  @Override
  public void save(Object obj) {
    ClassInfo ci = ClassInfo.getClassInfo(obj.getClass());
    LifeCycleUtils.executeMethods(LifeCyclePhase.PRE_SAVE, ci, obj);
    pm.save(obj);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_SAVE, ci, obj);
  }

  @Override
  public <T> T get(Query<T> query) {
    ClassInfo ci = ClassInfo.getClassInfo(query.getQueriedClass());
    T obj = pm.get(query);
    LifeCycleUtils.executeMethods(LifeCyclePhase.POST_FETCH, ci, obj);
    return obj;
  }

  @Override
  public <T> int delete(Query<T> query) {
    return pm.delete(query);
  }

  @Override
  public <T> int update(Query<T> query, Map<String, ?> fieldValues) {
    return pm.update(query, fieldValues);
  }

  @Override
  public <T> int count(Query<T> query) {
    return pm.count(query);
  }

  @Override
  public <T> List<T> fetch(Query<T> query) {
    return pm.fetch(query);
  }

  @Override
  public <T> List<T> fetch(Query<T> query, int limit) {
    return pm.fetch(query, limit);
  }

  @Override
  public <T> List<T> fetch(Query<T> query, int limit, Object offset) {
    return pm.fetch(query, limit, offset);
  }

  @Override
  public <T> List<T> fetchKeys(Query<T> query) {
    return pm.fetchKeys(query);
  }

  @Override
  public <T> List<T> fetchKeys(Query<T> query, int limit) {
    return pm.fetchKeys(query, limit);
  }

  @Override
  public <T> List<T> fetchKeys(Query<T> query, int limit, Object offset) {
    return pm.fetchKeys(query, limit, offset);
  }

  @Override
  public <T> Iterable<T> iter(Query<T> query) {
    return pm.iter(query);
  }

  @Override
  public <T> Iterable<T> iter(Query<T> query, int limit) {
    return pm.iter(query, limit);
  }

  @Override
  public <T> Iterable<T> iter(Query<T> query, int limit, Object offset) {
    return pm.iter(query, limit, offset);
  }

  @Override
  public <T> Iterable<T> iterPerPage(Query<T> query, int pageSize) {
    return pm.iterPerPage(query, pageSize);
  }

  @Override
  public int save(Object... objects) {
    return pm.save(objects);
  }

  @Override
  public int save(Iterable<?> objects) {
    return pm.save(objects);
  }

  @Override
  public int insert(Object... objects) {
    return pm.insert(objects);
  }

  @Override
  public int insert(Iterable<?> objects) {
    return pm.insert(objects);
  }

  @Override
  public int delete(Object... models) {
    return pm.delete(models);
  }

  @Override
  public int delete(Iterable<?> models) {
    return pm.delete(models);
  }

  @Override
  public <T> int deleteByKeys(Class<T> clazz, Object... keys) {
    return pm.deleteByKeys(clazz, keys);
  }

  @Override
  public <T> int deleteByKeys(Class<T> clazz, Iterable<?> keys) {
    return pm.deleteByKeys(clazz, keys);
  }

  @Override
  public int get(Object... models) {
    return pm.get(models);
  }

  @Override
  public <T> int get(Iterable<T> models) {
    return pm.get(models);
  }

  @Override
  public <T> T getByKey(Class<T> clazz, Object key) {
    return pm.getByKey(clazz, key);
  }

  @Override
  public <T> List<T> getByKeys(Class<T> clazz, Object... keys) {
    return pm.getByKeys(clazz, keys);
  }

  @Override
  public <T> List<T> getByKeys(Class<T> clazz, Iterable<?> keys) {
    return pm.getByKeys(clazz, keys);
  }

  @Override
  public <T> int update(Object... models) {
    return pm.update(models);
  }

  @Override
  public <T> int update(Iterable<T> models) {
    return pm.update(models);
  }

  @Override
  public void beginTransaction(int isolationLevel) {
    pm.beginTransaction(isolationLevel);
  }

  @Override
  public void beginTransaction() {
    pm.beginTransaction();
  }
 
  @Override
  public void commitTransaction() {
    pm.commitTransaction();
  }

  @Override
  public void rollbackTransaction() {
    pm.rollbackTransaction();
  }

  @Override
  public void closeConnection() {
    pm.closeConnection();
  }
 
  @Override
  public <T> void release(Query<T> query) {
    pm.release(query);
  }

  @Override
  public <T> void paginate(Query<T> query) {
    pm.paginate(query);
  }

  @Override
  public <T> void nextPage(Query<T> query) {
    pm.nextPage(query);
  }

  @Override
  public <T> void previousPage(Query<T> query) {
    pm.previousPage(query);
  }

  @Override
  public <T> PersistenceManagerAsync async() {
    return pm.async();
  }

  @Override
  public String[] supportedOperators() {
    return pm.supportedOperators();
  }

  @Deprecated
  @Override
  public <T> int count(Query<T> query, int limit) {
    return pm.count(query, limit);
  }

  @Deprecated
  @Override 
  public <T> int count(Query<T> query, int limit, Object offset) {
    return pm.count(query, limit, offset);
  }
 
 
}
TOP

Related Classes of siena.core.PersistenceManagerLifeCycleWrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.