package edu.ualberta.med.biobank.common.reports.filters; import java.util.Collection; import java.util.List; import org.hibernate.Criteria; import edu.ualberta.med.biobank.model.ReportFilterValue; public interface FilterType { /** * This <code>FilterType</code> should add the necessary restrictions to the * given <code>Criteria</code> object for the given * <code>FilterOperator</code> and corresponding * <code>ReportFilterValue</code>-s on the given * <code>String aliasedProperty</code>. * * @param criteria * @param aliasedProperty * @param op * @param value */ public void addCriteria(Criteria criteria, String aliasedProperty, FilterOperator op, List<ReportFilterValue> values); /** * Return a <code>Collection</code> of all the valid * <code>FilterOperator</code>-s that can be used with this * <code>FilterType</code> class. * * @return */ public Collection<FilterOperator> getOperators(); }