package org.openlca.core.database; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; public interface IDao<T> { boolean contains(long id); Map<Long, Boolean> contains(Set<Long> ids); void delete(T entity); void deleteAll(Collection<T> entities); T update(T entity); T insert(T entity); T getForId(long id); List<T> getForIds(Set<Long> ids); List<T> getAll(); List<T> getAll(String jpql, Map<String, ? extends Object> parameters); T getFirst(String jpql, Map<String, ? extends Object> parameters); long getCount(String jpql, Map<String, Object> parameters); void deleteAll(); }