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

io.pelle.mango.db.dao.IVOEntityDAO 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 IVOEntityDAO {

	Class getVOEntityClass();

	T create(T entity);

	T save(T entity);

	T read(long id);

	Optional read(SelectQuery query);

	List getAll();

	List filter(SelectQuery query);

	void deleteAll();

	void delete(T entity);

	void delete(long id);

	void deleteQuery(DeleteQuery query);

	long count(CountQuery query);

	long count();

	long aggregate(AggregateQuery query);

	List getByNaturalKey(String naturalKey);

	T getNewEntity(String className, Map properties);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy