@SuppressWarnings("unchecked") private Criterion getCriterionTakesListOfSubFilters(final Filter filter) { final int operator = filter.getOperator(); switch (operator) { case Filter.OP_AND: final List<Filter> filtersAnd = (List<Filter>) filter.getValuesAsList(); final List<Criterion> criterionsAnd = getCriterions(filtersAnd); if (criterionsAnd.size() == TWO_ARGS) { return Restrictions.and(criterionsAnd.get(IDX_0), criterionsAnd.get(IDX_1)); } case Filter.OP_OR: final List<Filter> filtersOr = (List<Filter>) filter.getValuesAsList(); final List<Criterion> criterionsOr = getCriterions(filtersOr); if (criterionsOr.size() == TWO_ARGS) { return Restrictions.or(criterionsOr.get(IDX_0), criterionsOr.get(IDX_1)); } default: return null; } }
List<?> values = filter.getValuesAsList(); if (values == null) { values = Collections.singletonList(null);