From 8822c1bb993880f6b20d34e822a3556244418258 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 8 Jan 2024 14:14:47 -0600 Subject: [PATCH] CE-781 Add overload constructor that takes Collection of values --- .../actions/tables/query/QFilterCriteria.java | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) 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); + } }