From b8dbde5ee1421e9cb12c47118d0c8247bb0ab81d Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 21 Feb 2022 10:29:25 +0100 Subject: [PATCH] Rimosso Coollection --- .../core/coollection/Coollection.java | 49 ---------- .../core/coollection/matcher/Matcher.java | 7 -- .../coollection/matcher/custom/Contains.java | 18 ---- .../coollection/matcher/custom/Equals.java | 18 ---- .../matcher/custom/EqualsIgnoreCase.java | 18 ---- .../matcher/custom/GreaterThan.java | 21 ----- .../coollection/matcher/custom/IsNull.java | 12 --- .../coollection/matcher/custom/LessThan.java | 21 ----- .../core/coollection/matcher/custom/Not.java | 18 ---- .../core/coollection/query/Query.java | 90 ------------------- .../coollection/query/criteria/Criteria.java | 34 ------- .../query/criteria/CriteriaList.java | 34 ------- .../core/coollection/query/order/Order.java | 5 -- .../query/order/OrderComparator.java | 30 ------- .../query/order/OrderCriteria.java | 24 ----- .../query/specification/Specification.java | 9 -- .../custom/AndSpecification.java | 13 --- .../specification/custom/OrSpecification.java | 14 --- .../core/coollection/reflection/Phanton.java | 37 -------- 19 files changed, 472 deletions(-) delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/Coollection.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/Matcher.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Contains.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Equals.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/EqualsIgnoreCase.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/GreaterThan.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/IsNull.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/LessThan.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Not.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/Query.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/Criteria.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/CriteriaList.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/Order.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderComparator.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderCriteria.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/Specification.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/AndSpecification.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/OrSpecification.java delete mode 100644 app/src/main/java/it/integry/integrywmsnative/core/coollection/reflection/Phanton.java diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/Coollection.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/Coollection.java deleted file mode 100644 index 447fd58e..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/Coollection.java +++ /dev/null @@ -1,49 +0,0 @@ -package it.integry.integrywmsnative.core.coollection; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; -import it.integry.integrywmsnative.core.coollection.matcher.custom.Contains; -import it.integry.integrywmsnative.core.coollection.matcher.custom.Equals; -import it.integry.integrywmsnative.core.coollection.matcher.custom.EqualsIgnoreCase; -import it.integry.integrywmsnative.core.coollection.matcher.custom.GreaterThan; -import it.integry.integrywmsnative.core.coollection.matcher.custom.IsNull; -import it.integry.integrywmsnative.core.coollection.matcher.custom.LessThan; -import it.integry.integrywmsnative.core.coollection.matcher.custom.Not; -import it.integry.integrywmsnative.core.coollection.query.Query; - -import java.util.Collection; - -public class Coollection { - - public static Query from(Collection collection) { - return new Query(collection); - } - - public static Matcher eq(Object value) { - return new Equals(value); - } - - public static Matcher contains(String value) { - return new Contains(value); - } - - public static Matcher eqIgnoreCase(String value) { - return new EqualsIgnoreCase(value); - } - - public static Matcher not(Matcher matcher) { - return new Not(matcher); - } - - public static Matcher greaterThan(Number value) { - return new GreaterThan(value); - } - - public static Matcher lessThan(Number value) { - return new LessThan(value); - } - - public static Matcher isNull() { - return new IsNull(); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/Matcher.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/Matcher.java deleted file mode 100644 index c2b41db2..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/Matcher.java +++ /dev/null @@ -1,7 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher; - -public interface Matcher { - - boolean match(Object value); - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Contains.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Contains.java deleted file mode 100644 index e0d80ac7..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Contains.java +++ /dev/null @@ -1,18 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class Contains implements Matcher { - - private final String matcherValue; - - public Contains(String matcherValue) { - this.matcherValue = matcherValue; - } - - @Override - public boolean match(Object value) { - return String.valueOf(value).contains(matcherValue); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Equals.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Equals.java deleted file mode 100644 index ca2cc6c1..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Equals.java +++ /dev/null @@ -1,18 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class Equals implements Matcher { - - private final Object value; - - public Equals(Object value) { - this.value = value; - } - - @Override - public boolean match(Object anotherValue) { - return value.equals(anotherValue); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/EqualsIgnoreCase.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/EqualsIgnoreCase.java deleted file mode 100644 index 5c138c93..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/EqualsIgnoreCase.java +++ /dev/null @@ -1,18 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class EqualsIgnoreCase implements Matcher { - - private final String value; - - public EqualsIgnoreCase(String value) { - this.value = value; - } - - @Override - public boolean match(Object anotherValue) { - return (value).equalsIgnoreCase((String) anotherValue); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/GreaterThan.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/GreaterThan.java deleted file mode 100644 index 1414a9e0..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/GreaterThan.java +++ /dev/null @@ -1,21 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class GreaterThan implements Matcher { - - private final Number value; - - public GreaterThan(Number value) { - this.value = value; - } - - @Override - public boolean match(Object matchValue) { - if (matchValue == null) { - return false; - } - return ((Number) matchValue).doubleValue() > value.doubleValue(); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/IsNull.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/IsNull.java deleted file mode 100644 index f14151e5..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/IsNull.java +++ /dev/null @@ -1,12 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class IsNull implements Matcher { - - @Override - public boolean match(Object value) { - return value == null; - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/LessThan.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/LessThan.java deleted file mode 100644 index c9c3c99e..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/LessThan.java +++ /dev/null @@ -1,21 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class LessThan implements Matcher { - - private final Number value; - - public LessThan(Number value) { - this.value = value; - } - - @Override - public boolean match(Object matchValue) { - if (matchValue == null) { - return false; - } - return ((Number) matchValue).doubleValue() < value.doubleValue(); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Not.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Not.java deleted file mode 100644 index dd76555f..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/matcher/custom/Not.java +++ /dev/null @@ -1,18 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.matcher.custom; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; - -public class Not implements Matcher { - - private final Matcher matcher; - - public Not(Matcher matcher) { - this.matcher = matcher; - } - - @Override - public boolean match(Object value) { - return !matcher.match(value); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/Query.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/Query.java deleted file mode 100644 index e6220bea..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/Query.java +++ /dev/null @@ -1,90 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query; - - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; -import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria; -import it.integry.integrywmsnative.core.coollection.query.criteria.CriteriaList; -import it.integry.integrywmsnative.core.coollection.query.order.Order; -import it.integry.integrywmsnative.core.coollection.query.order.OrderCriteria; -import it.integry.integrywmsnative.core.coollection.query.specification.custom.AndSpecification; -import it.integry.integrywmsnative.core.coollection.query.specification.custom.OrSpecification; - -public class Query { - - private final Collection collection; - private CriteriaList criterias; - private OrderCriteria orderCriteria; - - public Query(Collection collection) { - this.collection = collection; - criterias = new CriteriaList(); - } - - public Query where(String method, Matcher matcher) { - Criteria criteria = new Criteria(method, matcher); - criterias.add(criteria); - return this; - } - - public Query and(String method, Matcher matcher) { - Criteria criteria = new Criteria(method, matcher); - criteria.setSpecification(new AndSpecification()); - criterias.add(criteria); - return this; - } - - public Query or(String method, Matcher matcher) { - Criteria criteria = new Criteria(method, matcher); - criteria.setSpecification(new OrSpecification()); - criterias.add(criteria); - return this; - } - - public Query orderBy(String method, Order order) { - orderCriteria = new OrderCriteria(method, order); - return this; - } - - public Query orderBy(String method) { - return orderBy(method, Order.ASC); - } - - public List all() { - List all = new ArrayList(); - for (T item : collection) { - if (criterias.match(item)) { - all.add(item); - } - } - if (orderCriteria != null) { - all = orderCriteria.sort(all); - } - return all; - } - - public T first() { - List all = cloneCollection(collection); - if (orderCriteria != null) { - all = orderCriteria.sort(all); - } - for (T item : all) { - if (criterias.match(item)) { - return item; - } - } - return null; - } - - private List cloneCollection(Collection collection) { - List list = new ArrayList(); - for (T item : collection) { - list.add(item); - } - return list; - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/Criteria.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/Criteria.java deleted file mode 100644 index 027d232a..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/Criteria.java +++ /dev/null @@ -1,34 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.criteria; - -import it.integry.integrywmsnative.core.coollection.matcher.Matcher; -import it.integry.integrywmsnative.core.coollection.query.specification.Specification; -import it.integry.integrywmsnative.core.coollection.reflection.Phanton; - -public class Criteria { - - private final String method; - private final Matcher matcher; - private Specification specification; - - public Criteria(String method, Matcher matcher) { - this.method = method; - this.matcher = matcher; - } - - public void setSpecification(Specification specification) { - this.specification = specification; - } - - public Specification specification() { - return specification; - } - - public boolean match(T item) { - try { - Object value = Phanton.from(item).call(method); - return matcher.match(value); - } catch (Exception err) { - throw new RuntimeException(err); - } - } -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/CriteriaList.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/CriteriaList.java deleted file mode 100644 index e2f2f433..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/criteria/CriteriaList.java +++ /dev/null @@ -1,34 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.criteria; - -import java.util.ArrayList; -import java.util.List; - -public class CriteriaList { - - private List> criterias; - - public CriteriaList() { - criterias = new ArrayList>(); - } - - public void add(Criteria criteria) { - criterias.add(criteria); - } - - public boolean match(T item) { - if (criterias.size() == 0) { - return true; - } - if (criterias.size() == 1) { - return criterias.get(0).match(item); - } - boolean matched = true; - for (int i = criterias.size() - 1; i > 0; i--) { - Criteria one = criterias.get(i); - Criteria other = criterias.get(i - 1); - matched = matched && one.specification().match(item, one, other); - } - return matched; - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/Order.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/Order.java deleted file mode 100644 index 4ed8e86c..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/Order.java +++ /dev/null @@ -1,5 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.order; - -public enum Order { - ASC, DESC -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderComparator.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderComparator.java deleted file mode 100644 index a4bc0e64..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderComparator.java +++ /dev/null @@ -1,30 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.order; - -import it.integry.integrywmsnative.core.coollection.reflection.Phanton; - -import java.util.Comparator; - -public class OrderComparator implements Comparator { - - private final String method; - - public OrderComparator(String method) { - this.method = method; - } - - @Override - @SuppressWarnings("unchecked") - public int compare(T one, T other) { - Object oneValue = Phanton.from(one).call(method); - Object otherValue = Phanton.from(other).call(method); - if (oneValue == null || otherValue == null) { - return 0; - } - if (oneValue instanceof Comparable) { - return ((Comparable) oneValue).compareTo(otherValue); - } else { - return 0; - } - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderCriteria.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderCriteria.java deleted file mode 100644 index a049dc1e..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/order/OrderCriteria.java +++ /dev/null @@ -1,24 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.order; - -import java.util.Collections; -import java.util.List; - -public class OrderCriteria { - - private final String method; - private final Order order; - - public OrderCriteria(String method, Order order) { - this.method = method; - this.order = order; - } - - public List sort(List list) { - Collections.sort(list, new OrderComparator(method)); - if (order == Order.DESC) { - Collections.reverse(list); - } - return list; - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/Specification.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/Specification.java deleted file mode 100644 index 719ea931..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/Specification.java +++ /dev/null @@ -1,9 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.specification; - -import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria; - -public interface Specification { - - boolean match(T item, Criteria one, Criteria other); - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/AndSpecification.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/AndSpecification.java deleted file mode 100644 index 6119df2d..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/AndSpecification.java +++ /dev/null @@ -1,13 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.specification.custom; - -import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria; -import it.integry.integrywmsnative.core.coollection.query.specification.Specification; - -public class AndSpecification implements Specification { - - @Override - public boolean match(T item, Criteria one, Criteria other) { - return one.match(item) && other.match(item); - } - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/OrSpecification.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/OrSpecification.java deleted file mode 100644 index 2b83db22..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/query/specification/custom/OrSpecification.java +++ /dev/null @@ -1,14 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.query.specification.custom; - -import it.integry.integrywmsnative.core.coollection.query.criteria.Criteria; -import it.integry.integrywmsnative.core.coollection.query.specification.Specification; - -public class OrSpecification implements Specification { - - @Override - public boolean match(T item, Criteria one, Criteria other) { - return one.match(item) || other.match(item); - } - - -} diff --git a/app/src/main/java/it/integry/integrywmsnative/core/coollection/reflection/Phanton.java b/app/src/main/java/it/integry/integrywmsnative/core/coollection/reflection/Phanton.java deleted file mode 100644 index 0c8cf9c9..00000000 --- a/app/src/main/java/it/integry/integrywmsnative/core/coollection/reflection/Phanton.java +++ /dev/null @@ -1,37 +0,0 @@ -package it.integry.integrywmsnative.core.coollection.reflection; - -import java.lang.reflect.Field; - -public class Phanton { - - private final T target; - private Class clazz; - - private Phanton(T target) { - this.target = target; - clazz = target.getClass(); - } - - public static Phanton from(T target) { - return new Phanton(target); - } - - public Object call(String name) { - return invoke(name); - } - - private Object invoke(String name) { - for (final Field field : clazz.getDeclaredFields()) { - try { - if (name.equals(field.getName())) { - field.setAccessible(Boolean.TRUE); - return field.get(target); - } - } catch (final IllegalAccessException e) { - throw new RuntimeException(e); - } - } - throw new RuntimeException("No such property with name " + name); - } - -}