package marubinotto.piggydb.impl.query; import java.util.ArrayList; import java.util.List; import marubinotto.piggydb.model.Filter; import marubinotto.piggydb.model.Fragment; import marubinotto.piggydb.model.query.FragmentsByFilter; import marubinotto.piggydb.model.query.FragmentsQuery; import marubinotto.util.paging.Page; import marubinotto.util.paging.PageUtils; public abstract class H2FragmentsByPredefinedFilterBase extends H2FragmentsQueryBase { protected abstract Filter createFilter() throws Exception; private FragmentsQuery getQuery() throws Exception { Filter filter = createFilter(); if (filter == null) return null; FragmentsByFilter query = (FragmentsByFilter)getDelegateeQuery(FragmentsByFilter.class); query.setFilter(filter); return query; } public List<Fragment> getAll() throws Exception { FragmentsQuery query = getQuery(); return query != null ? query.getAll() : new ArrayList<Fragment>(); } public Page<Fragment> getPage(int pageSize, int pageIndex) throws Exception { FragmentsQuery query = getQuery(); return query != null ? query.getPage(pageSize, pageIndex) : PageUtils.<Fragment>empty(pageSize); } protected void appendFromWhere(StringBuilder sql, List<Object> args) throws Exception { // Do nothing } }