All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.pelle.mango.db.dao.IBaseVOEntityDAO Maven / Gradle / Ivy

The newest version!
package io.pelle.mango.db.dao;

import io.pelle.mango.client.base.vo.IVOEntity;
import io.pelle.mango.client.base.vo.query.AggregateQuery;
import io.pelle.mango.client.base.vo.query.CountQuery;
import io.pelle.mango.client.base.vo.query.DeleteQuery;
import io.pelle.mango.client.base.vo.query.SelectQuery;

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

import com.google.common.base.Optional;

public interface IBaseVOEntityDAO {

	 T getNewVO(String className, Map properties);

	 T create(T entity);

	 T save(T entity);

	 T read(long id, Class entityClass);

	 List filter(SelectQuery query);

	 List getAll(Class entityClass);

	 Optional read(SelectQuery query);

	 void delete(T entity);

	 void deleteAll(Class entityClass);

	 void delete(Class entityClass, long id);

	 void deleteQuery(DeleteQuery query);

	 long count(CountQuery query);

	 long count(Class entityClass);

	 long aggregate(AggregateQuery query);

	 List searchByNaturalKey(Class entityClass, String naturalKey);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy