diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/QFilterCriteria.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/QFilterCriteria.java index 4a17e6a5..811f2491 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/QFilterCriteria.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/QFilterCriteria.java @@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.model.actions.tables.query; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.List; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.kingsrook.qqq.backend.core.logging.QLogger; @@ -42,7 +43,7 @@ public class QFilterCriteria implements Serializable, Cloneable { private static final QLogger LOG = QLogger.getLogger(QFilterCriteria.class); - private String fieldName; + private String fieldName; private QCriteriaOperator operator; private List values; @@ -93,11 +94,37 @@ public class QFilterCriteria implements Serializable, Cloneable /******************************************************************************* ** *******************************************************************************/ - public QFilterCriteria(String fieldName, QCriteriaOperator operator, List values) + @SuppressWarnings("unchecked") + public QFilterCriteria(String fieldName, QCriteriaOperator operator, List values) { this.fieldName = fieldName; this.operator = operator; - this.values = values == null ? new ArrayList<>() : values; + this.values = values == null ? new ArrayList<>() : (List) values; + } + + + + /******************************************************************************* + ** + *******************************************************************************/ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public QFilterCriteria(String fieldName, QCriteriaOperator operator, Collection values) + { + this.fieldName = fieldName; + this.operator = operator; + + if(values == null) + { + this.values = new ArrayList<>(); + } + else if(values instanceof List list) + { + this.values = list; + } + else + { + this.values = new ArrayList<>(values); + } }