@Override public Request<Long> getTotalRowCount() { PriseMedicamentRegimeRequest request = (PriseMedicamentRegimeRequest) getContext(); if (isFiltered) { /* permanently filtered - hierarchical lists */ if (filterCriteria != null) { if (searchCriterions != null) { /* permanent filter added to search criterion */ if (nonAffected) { if (!searchInReverse) return request.countNonAffectedPriseMedicamentRegime(property, searchCriterions); else return request.countNonAffectedPriseMedicamentRegimeReverse( property, searchCriterions); } else return request.countPriseMedicamentRegime(searchCriterions); } else { /* permanent filter only */ if (nonAffected) { if (!searchInReverse) return request.countNonAffectedPriseMedicamentRegime(property, filterCriteria); else return request.countNonAffectedPriseMedicamentRegimeReverse(property, filterCriteria); } else return request.countPriseMedicamentRegime(filterCriteria); } } else return request.countNonAffectedPriseMedicamentRegime("id"); } else { if (searchCriterions != null) { if (nonAffected) { if (!searchInReverse) return request.countNonAffectedPriseMedicamentRegime(property, searchCriterions); else return request.countNonAffectedPriseMedicamentRegimeReverse(property, searchCriterions); } else return request.countPriseMedicamentRegime(searchCriterions); } else { if (nonAffected) { if (!searchInReverse) return request.countNonAffectedPriseMedicamentRegime(property); else return request.countNonAffectedPriseMedicamentRegimeReverse(property); } else return request.countPriseMedicamentRegime(); } } }