package net.techreadiness.persistence.criteriaquery; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; public class CriteriaFilter { private String fieldName; public enum FilterType { EQUALS, LIKE, ISNULL, ISNOTNULL } private FilterType filterType; private Collection<String> values = new ArrayList<>(); public CriteriaFilter(String fieldName, FilterType filterType, Collection<String> values) { this.fieldName = fieldName; this.filterType = filterType; this.values = values; } public CriteriaFilter(String fieldName, Collection<String> values) { this.fieldName = fieldName; filterType = FilterType.EQUALS; this.values = values; } public CriteriaFilter(String fieldName, String[] values) { this.fieldName = fieldName; filterType = FilterType.EQUALS; this.values = Arrays.asList(values); } public CriteriaFilter(String fieldName, FilterType filterType, String[] values) { this.fieldName = fieldName; this.filterType = filterType; this.values = Arrays.asList(values); } public CriteriaFilter(String fieldName, FilterType filterType, String value) { this.fieldName = fieldName; this.filterType = filterType; values = new ArrayList<>(); values.add(value); } public CriteriaFilter(String fieldName, String value) { this.fieldName = fieldName; filterType = FilterType.EQUALS; values = new ArrayList<>(); values.add(value); } public String getFieldName() { return fieldName; } public void setFieldName(String fieldName) { this.fieldName = fieldName; } public FilterType getFilterType() { return filterType; } public void setFilterType(FilterType filterType) { this.filterType = filterType; } public Collection<String> getValues() { return values; } public void setValues(List<String> values) { this.values = values; } }