package com.linkedin.thirdeye.datalayer.bao;
import java.util.List;
import java.util.Map;
import com.linkedin.thirdeye.datalayer.dto.AbstractDTO;
import com.linkedin.thirdeye.datalayer.util.Predicate;
public interface AbstractManager<E extends AbstractDTO> {
Long save(E entity);
int update(E entity);
E findById(Long id);
void delete(E entity);
void deleteById(Long id);
List<E> findAll();
List<E> findByParams(Map<String, Object> filters);
List<E> findByPredicate(Predicate predicate);
int update(E entity, Predicate predicate);
}